services: backend: build: context: . dockerfile: Dockerfile ports: - "${BACKEND_PORT:-5555}:5555" volumes: - ./config.json:/app/config.json environment: - DB_HOST=mysql - DB_PORT=3306 - DB_USER=${MYSQL_USER:-visione} - DB_PASSWORD=${MYSQL_PASSWORD:-visione} - DB_NAME=${MYSQL_DATABASE:-visione} - SMTP_HOST=mailhog - SMTP_PORT=1025 depends_on: mysql: condition: service_healthy mysql: image: mysql:8.4 environment: MYSQL_ROOT_PASSWORD: "${MYSQL_ROOT_PASSWORD:-root}" MYSQL_DATABASE: "${MYSQL_DATABASE:-visione}" MYSQL_USER: "${MYSQL_USER:-visione}" MYSQL_PASSWORD: "${MYSQL_PASSWORD:-visione}" ports: - "${MYSQL_PORT:-3306}:3306" volumes: - mysql-data:/var/lib/mysql healthcheck: test: ["CMD-SHELL", "mysqladmin ping -h 127.0.0.1 -u$${MYSQL_USER} -p$${MYSQL_PASSWORD} --silent"] interval: 5s timeout: 5s retries: 20 start_period: 20s mailhog: image: mailhog/mailhog:v1.0.1 ports: - "${MAILHOG_SMTP_PORT:-1025}:1025" - "${MAILHOG_WEB_PORT:-8025}:8025" volumes: mysql-data: