Files
backend/docker-compose.prod.yml

78 lines
2.3 KiB
YAML

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}
SMTP_HOST: ${SMTP_HOST:-smtp.resend.com}
SMTP_PORT: ${SMTP_PORT:-465}
SMTP_USERNAME: ${SMTP_USERNAME:-resend}
SMTP_PASSWORD: ${SMTP_PASSWORD:-}
SMTP_USE_TLS: ${SMTP_USE_TLS:-true}
SMTP_USE_STARTTLS: ${SMTP_USE_STARTTLS:-false}
SMTP_VERIFY_PEER: ${SMTP_VERIFY_PEER:-true}
SMTP_VERIFY_HOST: ${SMTP_VERIFY_HOST:-true}
RESEND_API_KEY: ${RESEND_API_KEY:-}
MAIL_FROM: ${MAIL_FROM:[email protected]}
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: