learning_ai_notes/docker-compose.yml
Saravana Achu Mac 02bcb0d122 feat: integrate feedback, broadcast, survey, offline-queue clients + settings page + devops
Phase 4: Add @bytelyst/feedback-client, broadcast-client, survey-client, offline-queue
wrappers. Revamp settings page with profile, password change, feedback form.
Add BroadcastBanner and SurveyBanner to app layout. Wire offline queue flush on boot.

Phase 5: Fix .env.example branding (NoteLett), update docker-compose with all env vars,
enable GitHub Actions CI workflow with lint steps.

Made-with: Cursor
2026-03-29 20:57:27 -07:00

53 lines
1.8 KiB
YAML

services:
backend:
build:
context: .
dockerfile: backend/Dockerfile
ports:
- "4016:4016"
environment:
- NODE_ENV=production
- PORT=4016
- HOST=0.0.0.0
- PRODUCT_ID=notelett
- SERVICE_NAME=notelett-backend
- JWT_SECRET=${JWT_SECRET:-dev-secret-change-me}
- COSMOS_ENDPOINT=${COSMOS_ENDPOINT:-}
- COSMOS_KEY=${COSMOS_KEY:-}
- COSMOS_DATABASE=${COSMOS_DATABASE:-bytelyst}
- DB_PROVIDER=${DB_PROVIDER:-memory}
- CORS_ORIGIN=${CORS_ORIGIN:-http://localhost:3000}
- PLATFORM_SERVICE_URL=${PLATFORM_SERVICE_URL:-http://localhost:4003}
- EXTRACTION_SERVICE_URL=${EXTRACTION_SERVICE_URL:-http://localhost:4005}
- MCP_SERVER_URL=${MCP_SERVER_URL:-http://localhost:4007}
- TELEMETRY_ENABLED=${TELEMETRY_ENABLED:-false}
- FEATURE_FLAGS_ENABLED=${FEATURE_FLAGS_ENABLED:-false}
- FIELD_ENCRYPT_ENABLED=${FIELD_ENCRYPT_ENABLED:-false}
- FIELD_ENCRYPT_KEY_PROVIDER=${FIELD_ENCRYPT_KEY_PROVIDER:-memory}
restart: unless-stopped
healthcheck:
test: ["CMD", "wget", "--spider", "-q", "http://localhost:4016/health"]
interval: 30s
timeout: 5s
retries: 3
web:
build:
context: .
dockerfile: web/Dockerfile
ports:
- "3000:3000"
environment:
- NODE_ENV=production
- NEXT_PUBLIC_PRODUCT_NAME=NoteLett
- NEXT_PUBLIC_PRODUCT_ID=notelett
- NEXT_PUBLIC_NOTES_API_URL=http://backend:4016/api
- NEXT_PUBLIC_PLATFORM_SERVICE_URL=${PLATFORM_SERVICE_URL:-http://localhost:4003}/api
- NEXT_PUBLIC_EXTRACTION_SERVICE_URL=${EXTRACTION_SERVICE_URL:-http://localhost:4005}
- NEXT_PUBLIC_DIAGNOSTICS_URL=${DIAGNOSTICS_URL:-http://localhost:3000}
- NEXT_PUBLIC_TELEMETRY_TRANSPORT=fetch
depends_on:
backend:
condition: service_healthy
restart: unless-stopped