# Production: no source mount; image contains code services: db: image: mysql:8.0 environment: MYSQL_DATABASE: ${DB_NAME} MYSQL_USER: ${DB_USER} MYSQL_PASSWORD: ${DB_PASSWORD} MYSQL_ROOT_PASSWORD: ${DB_ROOT_PASSWORD} volumes: - mysql_data:/var/lib/mysql restart: unless-stopped healthcheck: test: ["CMD", "mysqladmin", "ping", "-h", "localhost", "-u", "root", "-p${DB_ROOT_PASSWORD}"] interval: 10s timeout: 5s retries: 5 phpmyadmin: image: phpmyadmin:latest environment: PMA_HOST: db PMA_PORT: 3306 UPLOAD_LIMIT: 64M ports: - "8080:80" depends_on: db: condition: service_healthy restart: unless-stopped web: build: . env_file: - .env environment: DB_HOST: db depends_on: db: condition: service_healthy restart: unless-stopped ports: - "8000:8000" volumes: mysql_data: