mitai-jinkendo/docker-compose.dev-env.yml
Lars d2c578de83
All checks were successful
Deploy Development / deploy (push) Successful in 1m3s
Build Test / lint-backend (push) Successful in 0s
Build Test / build-frontend (push) Successful in 13s
fix: add missing /app/data volume for SQLite migration
The data volume was missing in dev environment, preventing automatic
SQLite → PostgreSQL migration. The SQLite database (bodytrack.db) was
not accessible to the container, so migration was skipped.

This fixes the "No SQLite database found" message when data exists.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-18 12:11:37 +01:00

73 lines
1.8 KiB
YAML

services:
postgres-dev:
image: postgres:16-alpine
container_name: dev-mitai-postgres
restart: unless-stopped
environment:
POSTGRES_DB: mitai_dev
POSTGRES_USER: mitai_dev
POSTGRES_PASSWORD: dev_password_change_me
volumes:
- mitai_dev_postgres_data:/var/lib/postgresql/data
ports:
- "127.0.0.1:5433:5432"
healthcheck:
test: ["CMD-SHELL", "pg_isready -U mitai_dev"]
interval: 10s
timeout: 5s
retries: 5
backend:
build: ./backend
container_name: dev-mitai-api
restart: unless-stopped
ports:
- "8099:8000"
depends_on:
postgres-dev:
condition: service_healthy
volumes:
- bodytrack_bodytrack-data:/app/data
- bodytrack_bodytrack-photos:/app/photos
environment:
# Database
- DB_HOST=postgres-dev
- DB_PORT=5432
- DB_NAME=mitai_dev
- DB_USER=mitai_dev
- DB_PASSWORD=dev_password_change_me
# 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_DEV:-https://dev.mitai.jinkendo.de}
- PHOTOS_DIR=/app/photos
- ALLOWED_ORIGINS=${ALLOWED_ORIGINS_DEV:-*}
- ENVIRONMENT=development
frontend:
build: ./frontend
container_name: dev-mitai-ui
restart: unless-stopped
ports:
- "3099:80"
depends_on:
- backend
volumes:
mitai_dev_postgres_data:
bodytrack_bodytrack-data:
external: true
bodytrack_bodytrack-photos:
external: true