Configure external chorus.services domain access
External Domain Configuration: - Updated Docker Swarm for chorus.services domain (202.171.184.242) - Configured dashboard.chorus.services for WHOOSH frontend - Configured api.chorus.services for backend API - Prepared www.chorus.services for marketing website (ready for submodule) Traefik Configuration: - SSL/TLS certificates via Let's Encrypt - Domain redirects: chorus.services → www.chorus.services - Proper CORS origins for external access - Load balancing and high availability Production Endpoints: - Marketing Website: https://www.chorus.services (pending project) - Dashboard: https://dashboard.chorus.services - API: https://api.chorus.services - Documentation: https://api.chorus.services/docs Build System: - Updated build scripts for website integration - Registry image preparation: chorus-website:latest - Management script updates for external domains Ready for website project integration as git submodule when available.
This commit is contained in:
@@ -20,7 +20,7 @@ services:
|
||||
labels:
|
||||
- "traefik.enable=true"
|
||||
- "traefik.docker.network=tengig"
|
||||
- "traefik.http.routers.chorus-api.rule=Host(`chorus-api.home.deepblack.cloud`)"
|
||||
- "traefik.http.routers.chorus-api.rule=Host(`api.chorus.services`)"
|
||||
- "traefik.http.routers.chorus-api.entrypoints=web-secured"
|
||||
- "traefik.http.routers.chorus-api.tls.certresolver=letsencryptresolver"
|
||||
- "traefik.http.services.chorus-api.loadbalancer.server.port=8000"
|
||||
@@ -28,7 +28,7 @@ services:
|
||||
environment:
|
||||
- DATABASE_URL=postgresql://chorus:choruspass@postgres:5432/chorus_whoosh
|
||||
- REDIS_URL=redis://redis:6379
|
||||
- CORS_ORIGINS=https://chorus.home.deepblack.cloud
|
||||
- CORS_ORIGINS=https://dashboard.chorus.services,https://www.chorus.services
|
||||
- ENVIRONMENT=production
|
||||
- LOG_LEVEL=info
|
||||
networks:
|
||||
@@ -53,20 +53,48 @@ services:
|
||||
labels:
|
||||
- "traefik.enable=true"
|
||||
- "traefik.docker.network=tengig"
|
||||
- "traefik.http.routers.chorus.rule=Host(`chorus.home.deepblack.cloud`)"
|
||||
- "traefik.http.routers.chorus.entrypoints=web-secured"
|
||||
- "traefik.http.routers.chorus.tls.certresolver=letsencryptresolver"
|
||||
- "traefik.http.services.chorus.loadbalancer.server.port=3000"
|
||||
- "traefik.http.services.chorus.loadbalancer.passhostheader=true"
|
||||
- "traefik.http.routers.chorus-dashboard.rule=Host(`dashboard.chorus.services`)"
|
||||
- "traefik.http.routers.chorus-dashboard.entrypoints=web-secured"
|
||||
- "traefik.http.routers.chorus-dashboard.tls.certresolver=letsencryptresolver"
|
||||
- "traefik.http.services.chorus-dashboard.loadbalancer.server.port=3000"
|
||||
- "traefik.http.services.chorus-dashboard.loadbalancer.passhostheader=true"
|
||||
environment:
|
||||
- REACT_APP_API_URL=https://chorus-api.home.deepblack.cloud
|
||||
- REACT_APP_WS_URL=wss://chorus-api.home.deepblack.cloud
|
||||
- REACT_APP_API_URL=https://api.chorus.services
|
||||
- REACT_APP_WS_URL=wss://api.chorus.services
|
||||
networks:
|
||||
- tengig
|
||||
- chorus_network
|
||||
depends_on:
|
||||
- whoosh-backend
|
||||
|
||||
# Marketing Website
|
||||
chorus-website:
|
||||
image: registry.home.deepblack.cloud/tony/chorus-website:latest
|
||||
deploy:
|
||||
replicas: 2
|
||||
placement:
|
||||
constraints:
|
||||
- node.role == worker
|
||||
resources:
|
||||
limits:
|
||||
memory: 128M
|
||||
reservations:
|
||||
memory: 64M
|
||||
labels:
|
||||
- "traefik.enable=true"
|
||||
- "traefik.docker.network=tengig"
|
||||
- "traefik.http.routers.chorus-website.rule=Host(`www.chorus.services`) || Host(`chorus.services`)"
|
||||
- "traefik.http.routers.chorus-website.entrypoints=web-secured"
|
||||
- "traefik.http.routers.chorus-website.tls.certresolver=letsencryptresolver"
|
||||
- "traefik.http.services.chorus-website.loadbalancer.server.port=80"
|
||||
- "traefik.http.services.chorus-website.loadbalancer.passhostheader=true"
|
||||
# Redirect naked domain to www
|
||||
- "traefik.http.middlewares.chorus-redirect.redirectregex.regex=^https://chorus.services/(.*)"
|
||||
- "traefik.http.middlewares.chorus-redirect.redirectregex.replacement=https://www.chorus.services/$${1}"
|
||||
- "traefik.http.routers.chorus-website.middlewares=chorus-redirect"
|
||||
networks:
|
||||
- tengig
|
||||
|
||||
# BZZZ - P2P Agent Coordination
|
||||
bzzz-coordinator:
|
||||
image: registry.home.deepblack.cloud/tony/chorus-bzzz-coordinator:latest
|
||||
|
||||
Reference in New Issue
Block a user