mirror of
https://github.com/philippemerle/KubeDiagrams.git
synced 2026-05-06 09:06:33 +00:00
62 lines
2.0 KiB
YAML
62 lines
2.0 KiB
YAML
# =============================================================================
|
|
# KubeDiagrams Web App - Docker Compose
|
|
# =============================================================================
|
|
# Services:
|
|
# - frontend: Apache2 serving React static files + reverse proxy to backend
|
|
# - backend: Python/Flask/Gunicorn with KubeDiagrams
|
|
# =============================================================================
|
|
|
|
services:
|
|
# ---------------------------------------------------------------------------
|
|
# Frontend Service (Apache2 + React Static Files)
|
|
# ---------------------------------------------------------------------------
|
|
frontend:
|
|
build:
|
|
context: ./frontend
|
|
dockerfile: Dockerfile
|
|
container_name: kubediagrams-frontend
|
|
ports:
|
|
- "8080:80"
|
|
depends_on:
|
|
backend:
|
|
condition: service_healthy
|
|
environment:
|
|
- BACKEND_URL=http://backend:5000
|
|
networks:
|
|
- kubediagrams-network
|
|
restart: unless-stopped
|
|
|
|
# ---------------------------------------------------------------------------
|
|
# Backend Service (Python/Flask/Gunicorn + KubeDiagrams)
|
|
# ---------------------------------------------------------------------------
|
|
backend:
|
|
build:
|
|
context: ./backend
|
|
dockerfile: Dockerfile
|
|
container_name: kubediagrams-backend
|
|
expose:
|
|
- "5000"
|
|
environment:
|
|
- FLASK_ENV=production
|
|
- BEHIND_PROXY=true
|
|
- PROXY_X_FOR=1
|
|
volumes:
|
|
# Persist logs outside container
|
|
- ./backend/logs:/app/logs
|
|
networks:
|
|
- kubediagrams-network
|
|
restart: unless-stopped
|
|
healthcheck:
|
|
test: ["CMD", "curl", "--fail", "--silent", "http://localhost:5000/api/health"]
|
|
interval: 5m
|
|
timeout: 10s
|
|
retries: 3
|
|
start_period: 30s
|
|
|
|
# -----------------------------------------------------------------------------
|
|
# Networks
|
|
# -----------------------------------------------------------------------------
|
|
networks:
|
|
kubediagrams-network:
|
|
driver: bridge
|