services: app: build: . restart: unless-stopped environment: - APP_PIN=${APP_PIN} - JWT_SECRET=${JWT_SECRET} - JWT_EXPIRE_DAYS=${JWT_EXPIRE_DAYS:-90} - 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