services: mysql: image: mysql:8.0 container_name: harborforge-test-mysql restart: "no" tmpfs: - /var/lib/mysql environment: MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD:-harborforge_root} MYSQL_DATABASE: ${MYSQL_DATABASE:-harborforge} MYSQL_USER: ${MYSQL_USER:-harborforge} MYSQL_PASSWORD: ${MYSQL_PASSWORD:-harborforge_pass} healthcheck: test: ["CMD", "mysqladmin", "ping", "-h", "localhost"] interval: 10s timeout: 5s retries: 5 networks: - test-network wizard: build: context: ../AbstractWizard dockerfile: Dockerfile image: harborforge-test-wizard:dev container_name: harborforge-test-wizard user: 0:0 restart: "no" volumes: - wizard_config:/config environment: CONFIG_DIR: /config LISTEN_ADDR: "0.0.0.0:8080" MAX_BACKUPS: "5" CORS_ORIGINS: http://frontend:3000 ports: - "18080:8080" networks: - test-network backend: build: context: ../HarborForge.Backend dockerfile: Dockerfile image: harborforge-test-backend:dev container_name: harborforge-test-backend restart: "no" volumes: - wizard_config:/config:ro environment: CONFIG_DIR: /config CONFIG_FILE: harborforge.json SECRET_KEY: ${SECRET_KEY:-change_me_in_production} LOG_LEVEL: ${LOG_LEVEL:-INFO} DATABASE_URL: mysql+pymysql://harborforge:harborforge_pass@mysql:3306/harborforge ports: - "${MAP_BACKEND_PORT:- }:8000" depends_on: mysql: condition: service_healthy networks: - test-network frontend: build: context: ../HarborForge.Frontend dockerfile: Dockerfile args: VITE_WIZARD_PORT: 8080 VITE_WIZARD_HOST: wizard image: harborforge-test-frontend:dev container_name: harborforge-test-frontend restart: "no" environment: VITE_API_BASE_URL: http://backend:8000 ports: - "${MAP_FRONTEND_PORT:- }:3000" depends_on: - wizard - backend networks: - test-network test: build: context: ./HarborForge.Frontend.Test dockerfile: Dockerfile image: harborforge-test-runner:dev container_name: harborforge-test-runner restart: "no" environment: BASE_URL: http://frontend:3000 WEB_SERVER_URL: http://frontend:3000 WIZARD_URL: http://wizard:8080/wizard WIZARD_API_URL: http://wizard:8080 CHROME_DEBUGGING_PORT: 9222 networks: - test-network volumes: wizard_config: networks: test-network: driver: bridge