version: '3.8' services: # MC Panel приложение mc-panel: build: context: . dockerfile: Dockerfile container_name: mc-panel restart: unless-stopped ports: - "80:8000" # Прямой доступ через порт 80 environment: # ZITADEL OpenID Connect - ZITADEL_ISSUER=${ZITADEL_ISSUER} - ZITADEL_CLIENT_ID=${ZITADEL_CLIENT_ID} - ZITADEL_CLIENT_SECRET=${ZITADEL_CLIENT_SECRET} # URLs - BASE_URL=${BASE_URL:-http://localhost} - FRONTEND_URL=${FRONTEND_URL:-http://localhost} # Security - SECRET_KEY=${SECRET_KEY:-change-this-in-production} # Python - PYTHONUNBUFFERED=1 volumes: # Персистентное хранилище для серверов - ./data/servers:/app/backend/servers # Персистентное хранилище для пользователей и тикетов - ./data/users.json:/app/backend/users.json - ./data/tickets.json:/app/backend/tickets.json # Папка для данных демонов - ./data:/app/data networks: - mc-panel-network healthcheck: test: ["CMD", "curl", "-f", "http://localhost:8000/api/auth/oidc/providers"] interval: 30s timeout: 10s retries: 3 start_period: 40s networks: mc-panel-network: driver: bridge volumes: servers-data: users-data: