feat(chat-web): add Docker deployment for chat frontend

- Add @sveltejs/adapter-node for server-side rendering
- Create Dockerfile for chat web SvelteKit app
- Add /health endpoint for container health checks
- Add chat-web service to docker-compose.staging.yml
- Update CI/CD workflow with chat-web health check

The chat app now deploys with both backend and web frontend:
- mana-core-auth (port 3001) - central auth
- chat-backend (port 3002) - API
- chat-web (port 3000) - web frontend

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
Wuesteon 2025-12-05 02:10:32 +01:00
parent 80f80053f3
commit 714298f7c8
7 changed files with 428 additions and 336 deletions

View file

@ -1,4 +1,4 @@
# Simplified staging config: mana-core-auth + chat-backend only
# Simplified staging config: mana-core-auth + chat (backend + web)
# Full config archived at: docker-compose.staging.full.yml
#
# To restore full config:
@ -125,6 +125,34 @@ services:
max-size: "10m"
max-file: "3"
chat-web:
image: ${DOCKER_REGISTRY:-ghcr.io/memo-2023}/chat-web:${CHAT_WEB_VERSION:-latest}
container_name: chat-web-staging
restart: unless-stopped
depends_on:
chat-backend:
condition: service_healthy
environment:
NODE_ENV: staging
PORT: 3000
PUBLIC_BACKEND_URL: http://chat-backend:3002
PUBLIC_MANA_CORE_AUTH_URL: http://mana-core-auth:3001
ports:
- "3000:3000"
healthcheck:
test: ["CMD", "wget", "--no-verbose", "--tries=1", "--spider", "http://localhost:3000/health"]
interval: 30s
timeout: 10s
retries: 3
start_period: 40s
networks:
- manacore-network
logging:
driver: "json-file"
options:
max-size: "10m"
max-file: "3"
# ============================================
# Networks
# ============================================