Version 9b #1

Merged
Lars merged 34 commits from develop into main 2026-03-19 08:04:02 +01:00
Showing only changes of commit 39a7b1be78 - Show all commits

View File

@ -1,22 +1,55 @@
services: services:
postgres:
image: postgres:16-alpine
container_name: mitai-db
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:
- "127.0.0.1:5432:5432"
healthcheck:
test: ["CMD-SHELL", "pg_isready -U mitai_prod"]
interval: 10s
timeout: 5s
retries: 5
backend: backend:
build: ./backend build: ./backend
container_name: mitai-api container_name: mitai-api
restart: unless-stopped restart: unless-stopped
ports: ports:
- "8002:8000" - "8002:8000"
depends_on:
postgres:
condition: service_healthy
volumes: volumes:
- bodytrack_bodytrack-data:/app/data - bodytrack_bodytrack-data:/app/data
- bodytrack_bodytrack-photos:/app/photos - bodytrack_bodytrack-photos:/app/photos
environment: 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_API_KEY=${OPENROUTER_API_KEY}
- OPENROUTER_MODEL=${OPENROUTER_MODEL:-anthropic/claude-sonnet-4} - OPENROUTER_MODEL=${OPENROUTER_MODEL:-anthropic/claude-sonnet-4}
- ANTHROPIC_API_KEY=${ANTHROPIC_API_KEY} - ANTHROPIC_API_KEY=${ANTHROPIC_API_KEY}
# Email
- SMTP_HOST=${SMTP_HOST} - SMTP_HOST=${SMTP_HOST}
- SMTP_PORT=${SMTP_PORT:-587} - SMTP_PORT=${SMTP_PORT:-587}
- SMTP_USER=${SMTP_USER} - SMTP_USER=${SMTP_USER}
- SMTP_PASS=${SMTP_PASS} - SMTP_PASS=${SMTP_PASS}
- SMTP_FROM=${SMTP_FROM} - SMTP_FROM=${SMTP_FROM}
# App
- APP_URL=${APP_URL} - APP_URL=${APP_URL}
- DATA_DIR=/app/data - DATA_DIR=/app/data
- PHOTOS_DIR=/app/photos - PHOTOS_DIR=/app/photos
@ -33,6 +66,7 @@ services:
- backend - backend
volumes: volumes:
mitai_postgres_data:
bodytrack_bodytrack-data: bodytrack_bodytrack-data:
external: true external: true
bodytrack_bodytrack-photos: bodytrack_bodytrack-photos: