mirror of
https://github.com/Memo-2023/mana-monorepo.git
synced 2026-05-14 21:41:09 +02:00
- Fix type-check errors (subtask id, duplicate currentLocale) - Add complete Astro landing page with Hero, Features, Pricing, CTA - Add production environment templates (.env.example, .env.production.example) - Add docker-compose.prod.yml for production deployment - Add deploy.sh script for server deployment - Add /health endpoint for web app health checks - Improve docker-entrypoint.sh with database wait logic - Remove references to deleted statistics and session-tasks stores Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
66 lines
1.9 KiB
YAML
66 lines
1.9 KiB
YAML
version: '3.8'
|
|
|
|
services:
|
|
# Todo Backend API
|
|
todo-backend:
|
|
build:
|
|
context: ../..
|
|
dockerfile: apps/todo/apps/backend/Dockerfile
|
|
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
|