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} MAIL_PROVIDER: ${MAIL_PROVIDER:-resend} RESEND_API_BASE_URL: ${RESEND_API_BASE_URL:-https://api.resend.com} RESEND_API_KEY: ${RESEND_API_KEY:-} MAIL_FROM: ${MAIL_FROM:-noreply@visionebari.it} CORS_ALLOWED_ORIGIN: ${CORS_ALLOWED_ORIGIN:-http://localhost:3000} CIE_AUTH_SERVICE_BASE_URL: ${CIE_AUTH_SERVICE_BASE_URL:-http://127.0.0.1:8001} CIE_AUTH_START_PATH: ${CIE_AUTH_START_PATH:-/visione/start} CIE_AUTH_SHARED_SECRET: ${CIE_AUTH_SHARED_SECRET:-change-me-for-local-dev} CIE_AUTH_STATE_TTL_MINUTES: ${CIE_AUTH_STATE_TTL_MINUTES:-10} CIE_AUTH_DEFAULT_FRONTEND_REDIRECT_URI: ${CIE_AUTH_DEFAULT_FRONTEND_REDIRECT_URI:-http://localhost:3000/auth/cie/callback} expose: - "5555" 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 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" phpmyadmin: image: phpmyadmin:latest restart: unless-stopped expose: - "80" environment: PMA_HOST: mysql PMA_USER: ${DB_USER:-visione} PMA_PASSWORD: ${DB_PASSWORD:-visione} volumes: mysql-data: uploads-data: