managarten/apps/todo/docker-compose.prod.yml
Till JS bee8bcb234 feat(todo): add reminders with background worker and notification dispatch
Server: reminder-worker checks due reminders every 60s, dispatches via mana-notify, integrates shared-hono middleware and Zod validation for RRULE.
Web: ReminderSelector component, local-first reminder store, form integration.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-01 14:55:42 +02:00

68 lines
1.9 KiB
YAML

version: '3.8'
services:
# Todo Backend API
todo-backend:
build:
context: ../..
dockerfile: docker/Dockerfile.hono-server
args:
APP: todo
container_name: todo-backend
restart: unless-stopped
ports:
- "3018:3018"
environment:
- NODE_ENV=production
- PORT=3018
- DATABASE_URL=${DATABASE_URL}
- MANA_CORE_AUTH_URL=${MANA_CORE_AUTH_URL}
- CORS_ORIGINS=${CORS_ORIGINS}
healthcheck:
test: ["CMD", "wget", "--no-verbose", "--tries=1", "--spider", "http://localhost:3018/health"]
interval: 30s
timeout: 10s
retries: 3
start_period: 10s
networks:
- todo-network
labels:
- "traefik.enable=true"
- "traefik.http.routers.todo-api.rule=Host(`todo-api.mana.how`)"
- "traefik.http.routers.todo-api.tls=true"
- "traefik.http.routers.todo-api.tls.certresolver=letsencrypt"
- "traefik.http.services.todo-api.loadbalancer.server.port=3018"
# Todo Web App (SvelteKit with Node adapter)
todo-web:
build:
context: ../..
dockerfile: apps/todo/apps/web/Dockerfile
container_name: todo-web
restart: unless-stopped
ports:
- "5188:5188"
environment:
- NODE_ENV=production
- PORT=5188
- PUBLIC_BACKEND_URL=${PUBLIC_BACKEND_URL}
- PUBLIC_MANA_CORE_AUTH_URL=${PUBLIC_MANA_CORE_AUTH_URL}
healthcheck:
test: ["CMD", "wget", "--no-verbose", "--tries=1", "--spider", "http://localhost:5188"]
interval: 30s
timeout: 10s
retries: 3
start_period: 10s
networks:
- todo-network
labels:
- "traefik.enable=true"
- "traefik.http.routers.todo-web.rule=Host(`todo.mana.how`)"
- "traefik.http.routers.todo-web.tls=true"
- "traefik.http.routers.todo-web.tls.certresolver=letsencrypt"
- "traefik.http.services.todo-web.loadbalancer.server.port=5188"
networks:
todo-network:
external: true
name: manacore-network