services: backend: image: git.hangman-lab.top/hzhang/hangmanlab-backend:latest ports: - "$BACKEND_PORT:$BACKEND_PORT" env_file: - .env depends_on: - mysql networks: - app-network volumes: - backend_dump:/app/dump frontend: image: git.hangman-lab.top/hzhang/hangmanlab-frontend:latest ports: - "$FRONTEND_PORT:80" env_file: - .env depends_on: - backend networks: - app-network mysql: image: mysql:8.0 container_name: mysql ports: - "$DB_PORT:$DB_PORT" environment: MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD} MYSQL_DATABASE: ${DB_NAME} MYSQL_USER: ${DB_USER} MYSQL_PASSWORD: ${DB_PASSWORD} volumes: - mysql_data:/var/lib/mysql networks: - app-network hf_frontend: image: git.hangman-lab.top/zhi/harborforge-frontend:latest ports: - "$HF_FRONTEND_PORT:3000" environment: VITE_API_BASE_URL: http://wizard:${WIZARD_PORT:-8082} VITE_WIZARD_PORT: ${WIZARD_PORT:-8082} FRONTEND_DEV_MODE: ${HF_FRONTEND_DEV_MODE:-0} NODE_ENV: production depends_on: - wizard networks: - app-network wizard: image: git.hangman-lab.top/nav/abstract-wizard:latest ports: - "$WIZARD_PORT:8080" volumes: - wizard_config:/config environment: CONFIG_DIR: /config LISTEN_ADDR: "0.0.0.0:8080" MAX_BACKUPS: "5" CORS_ORIGINS: http://hf_frontend:${HF_FRONTEND_PORT:-3000},http://127.0.0.1:${HF_FRONTEND_PORT:-3000},http://localhost:${HF_FRONTEND_PORT:-3000} networks: - app-network networks: app-network: driver: bridge volumes: mysql_data: backend_dump: wizard_config: