Files
takeyourmeds/compose.yml
T
Frank Schwenk 88bdf6f34b feat: overhaul with modular API, agent endpoints, migrations, backup and tests
- Split monolithic app.py into server/api/ routers
- Add Pydantic schemas for input validation
- Add /agent/* API with separate AGENT_TOKEN auth
- Replace static schema.sql with versioned migrations (datenerhaltend)
- Add tools/backup_db.py for SQLite backups
- Add Dockerfile HEALTHCHECK and compose.yml AGENT_TOKEN env
- Add pytest tests for user and agent API
- Update README with API docs and deployment safety notes
- Bump version to 1.2.0
2026-09-21 12:46:44 +02:00

36 lines
1.2 KiB
YAML

services:
app:
build: .
restart: unless-stopped
environment:
- APP_PIN=${APP_PIN}
- JWT_SECRET=${JWT_SECRET}
- JWT_EXPIRE_DAYS=${JWT_EXPIRE_DAYS:-90}
- AGENT_TOKEN=${AGENT_TOKEN:-}
- VAPID_PRIVATE_KEY=${VAPID_PRIVATE_KEY}
- VAPID_PUBLIC_KEY=${VAPID_PUBLIC_KEY}
- VAPID_CLAIMS_EMAIL=${VAPID_CLAIMS_EMAIL:-mailto:admin@schwenk.online}
- OPENROUTER_API_KEY=${OPENROUTER_API_KEY:-}
- OPENROUTER_MODEL=${OPENROUTER_MODEL:-google/gemini-2.0-flash-001}
- DB_PATH=/data/medis.sqlite
- MEDS_PATH=/app/meds.yaml
- MESSAGES_PATH=/app/messages.yaml
- TZ=Europe/Berlin
volumes:
- ./data:/data
- ./meds.yaml:/app/meds.yaml:ro
- ./messages.yaml:/app/messages.yaml:ro
networks:
- traefik
labels:
- traefik.enable=true
- traefik.docker.network=traefik
- traefik.http.routers.takeyourmeds.rule=Host(`medis.schwenk.online`)
- traefik.http.routers.takeyourmeds.entrypoints=websecure
- traefik.http.routers.takeyourmeds.tls.certresolver=myresolver
- traefik.http.services.takeyourmeds.loadbalancer.server.port=8000
networks:
traefik:
external: true