services: frontend: build: context: ./Dialectic.Frontend dockerfile: Dockerfile ports: - "${FRONTEND_PORT:-3000}:3000" environment: - NODE_ENV=development - REACT_APP_BACKEND_HOST=${BACKEND_URL:-http://localhost:8000} stdin_open: true tty: true backend: build: context: ./Dialectic.Backend dockerfile: Dockerfile ports: - "${BACKEND_PORT:-8000}:8000" volumes: - dialectic_config:/app/config environment: - ENV_MODE=prod - ENCRYPTION_KEY=${ENCRYPTION_KEY:-BgS9_9K2UMYxiYnP-BE63UEdi7a6PHaaZ6rQZQnSx54=} - CONFIG_PATH=/app/config/dialectic.yaml depends_on: db: condition: service_healthy command: uvicorn app.main:app --host 0.0.0.0 --port 8000 --reload db: image: mysql:8.0 restart: always environment: MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD:-rootpassword} MYSQL_DATABASE: ${MYSQL_DATABASE:-dialectic} MYSQL_USER: ${MYSQL_USER:-dialectic} MYSQL_PASSWORD: ${MYSQL_PASSWORD:-dialectic} ports: - "${DB_PORT:-3306}:3306" volumes: - mysql_data:/var/lib/mysql - ./init.sql:/docker-entrypoint-initdb.d/init.sql healthcheck: test: ["CMD", "mysqladmin", "ping", "-h", "localhost"] timeout: 20s retries: 10 volumes: mysql_data: dialectic_config: