services: db: image: mysql:8.0 container_name: amnezia-panel-db restart: unless-stopped env_file: - .env environment: MYSQL_ROOT_PASSWORD: ${DB_ROOT_PASSWORD:-rootpassword} MYSQL_DATABASE: ${DB_DATABASE:-amnezia_panel} MYSQL_USER: ${DB_USERNAME:-amnezia} MYSQL_PASSWORD: ${DB_PASSWORD:-amnezia} ports: - "3307:3306" volumes: - db_data:/var/lib/mysql - ./migrations:/docker-entrypoint-initdb.d healthcheck: test: ["CMD", "mysqladmin", "ping", "-h", "localhost"] interval: 10s timeout: 5s retries: 10 web: build: context: . dockerfile: Dockerfile container_name: amnezia-panel-web restart: unless-stopped depends_on: db: condition: service_healthy env_file: - .env environment: APP_ENV: ${APP_ENV:-local} DEFAULT_LOCALE: ${DEFAULT_LOCALE:-en} DB_HOST: db DB_PORT: 3306 DB_DATABASE: ${DB_DATABASE:-amnezia_panel} DB_USERNAME: ${DB_USERNAME:-amnezia} DB_PASSWORD: ${DB_PASSWORD:-amnezia} volumes: - ./:/var/www/html ports: - "8082:80" volumes: db_data: