services: # Lichess Web Services (API) lichess-api: build: ./LichessWebServices container_name: lichess-api ports: - "8001:8000" environment: - PYTHONUNBUFFERED=1 volumes: - ./LichessWebServices:/app restart: always healthcheck: test: ["CMD", "curl", "-f", "http://localhost:8000/health"] interval: 30s timeout: 10s retries: 3 # Telegram Bot lichess-bot: build: ./LichessClientTG_bot container_name: lichess-telegram-bot volumes: - ./LichessClientTG_bot/data:/app/data - ./LichessClientTG_bot:/app environment: - PYTHONPATH=/app - PYTHONUNBUFFERED=1 network_mode: "host" restart: always depends_on: - lichess-api healthcheck: test: ["CMD", "python", "-c", "import requests; requests.get('http://localhost:8001/health', timeout=5)"] interval: 30s timeout: 10s retries: 3 start_period: 40s # Admin Panel Telegram Bot admin-bot: build: context: ./LichessClientTG_bot dockerfile: Dockerfile.admin container_name: lichess-admin-bot volumes: - ./LichessClientTG_bot/data:/app/data - ./LichessClientTG_bot:/app environment: - PYTHONPATH=/app - PYTHONUNBUFFERED=1 network_mode: "host" restart: always depends_on: - lichess-api # Web View Interface web-view: build: ./LichessWebView container_name: lichess-web-view ports: - "5000:5000" volumes: - ./LichessClientTG_bot/data:/app/data:ro - ./LichessWebView:/app restart: always depends_on: - lichess-bot networks: default: name: lichess-network