services: backend: build: context: . dockerfile: Dockerfile restart: unless-stopped volumes: - uploads-data:/app/uploads environment: DB_HOST: ${DB_HOST:-mysql} DB_PORT: ${DB_PORT:-3306} DB_USER: ${DB_USER:-visione} DB_PASSWORD: ${DB_PASSWORD:-visione} DB_NAME: ${DB_NAME:-visione} DB_TIMEOUT: ${DB_TIMEOUT:-30} SMTP_HOST: ${SMTP_HOST:-mailpit} SMTP_PORT: ${SMTP_PORT:-1025} CORS_ALLOWED_ORIGIN: ${CORS_ALLOWED_ORIGIN:-http://localhost:3000} expose: - "5555" networks: - visione - dokploy-network depends_on: mysql: condition: service_healthy mysql: image: mysql:8.4 restart: unless-stopped environment: MYSQL_ROOT_PASSWORD: "${MYSQL_ROOT_PASSWORD:-root}" MYSQL_DATABASE: "${DB_NAME:-visione}" MYSQL_USER: "${DB_USER:-visione}" MYSQL_PASSWORD: "${DB_PASSWORD:-visione}" expose: - "3306" volumes: - mysql-data:/var/lib/mysql networks: - visione 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 mailpit: image: axllent/mailpit:latest restart: unless-stopped expose: - "1025" - "8025" networks: - visione volumes: mysql-data: uploads-data: networks: visione: dokploy-network: external: true