mitai-jinkendo/docker-compose.yml
Lars 8a042589e7
Some checks failed
Deploy Production / deploy (push) Failing after 1s
Build Test / lint-backend (push) Successful in 1s
Build Test / build-frontend (push) Successful in 12s
docker-compose.yml aktualisiert
2026-03-19 08:19:19 +01:00

73 lines
1.7 KiB
YAML

services:
postgres:
image: postgres:16-alpine
container_name: mitai-db-prod
restart: unless-stopped
environment:
POSTGRES_DB: mitai_prod
POSTGRES_USER: mitai_prod
POSTGRES_PASSWORD: ${DB_PASSWORD:-change_me_in_production}
volumes:
- mitai_postgres_data:/var/lib/postgresql/data
ports:
healthcheck:
test: ["CMD-SHELL", "pg_isready -U mitai_prod"]
interval: 10s
timeout: 5s
retries: 5
backend:
build: ./backend
container_name: mitai-api
restart: unless-stopped
ports:
- "8002:8000"
depends_on:
postgres:
condition: service_healthy
volumes:
- bodytrack_bodytrack-data:/app/data
- bodytrack_bodytrack-photos:/app/photos
environment:
# Database
- DB_HOST=postgres
- DB_PORT=5432
- DB_NAME=mitai_prod
- DB_USER=mitai_prod
- DB_PASSWORD=${DB_PASSWORD:-change_me_in_production}
# AI
- OPENROUTER_API_KEY=${OPENROUTER_API_KEY}
- OPENROUTER_MODEL=${OPENROUTER_MODEL:-anthropic/claude-sonnet-4}
- ANTHROPIC_API_KEY=${ANTHROPIC_API_KEY}
# Email
- SMTP_HOST=${SMTP_HOST}
- SMTP_PORT=${SMTP_PORT:-587}
- SMTP_USER=${SMTP_USER}
- SMTP_PASS=${SMTP_PASS}
- SMTP_FROM=${SMTP_FROM}
# App
- APP_URL=${APP_URL}
- DATA_DIR=/app/data
- PHOTOS_DIR=/app/photos
- ALLOWED_ORIGINS=${ALLOWED_ORIGINS:-*}
- ENVIRONMENT=production
frontend:
build: ./frontend
container_name: mitai-ui
restart: unless-stopped
ports:
- "3002:80"
depends_on:
- backend
volumes:
mitai_postgres_data:
bodytrack_bodytrack-data:
external: true
bodytrack_bodytrack-photos:
external: true