mirror of
https://github.com/Memo-2023/mana-monorepo.git
synced 2026-05-15 12:01:10 +02:00
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>
68 lines
1.9 KiB
YAML
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
|