gigafibre-fsm/services/targo-hub/docker-compose.yml
louispaulb 4693bcf60c feat: telephony UI, performance indexes, Twilio softphone, lazy-load invoices
- Add PostgreSQL performance indexes migration script (1000x faster queries)
  Sales Invoice: 1,248ms → 28ms, Payment Entry: 443ms → 31ms
  Indexes on customer/party columns for all major tables
- Disable 3CX poller (PBX_ENABLED flag, using Twilio instead)
- Add TelephonyPage: full CRUD UI for Routr/Fonoster resources
  (trunks, agents, credentials, numbers, domains, peers)
- Add PhoneModal + usePhone composable (Twilio WebRTC softphone)
- Lazy-load invoices/payments (initial 5, expand on demand)
- Parallelize all API calls in ClientDetailPage (no waterfall)
- Add targo-hub service (SSE relay, SMS, voice, telephony API)
- Customer portal: invoice detail, ticket detail, messages pages
- Remove dead Ollama nginx upstream

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-02 13:59:59 -04:00

34 lines
1.0 KiB
YAML

services:
targo-hub:
image: node:20-alpine
container_name: targo-hub
working_dir: /app
volumes:
- ./server.js:/app/server.js:ro
- ./package.json:/app/package.json:ro
command: node server.js
env_file: .env
restart: unless-stopped
networks:
- proxy
- erpnext_erpnext
labels:
- "traefik.enable=true"
- "traefik.docker.network=proxy"
# Main router — webhooks + send + health (no auth)
- "traefik.http.routers.targo-hub.rule=Host(`msg.gigafibre.ca`)"
- "traefik.http.routers.targo-hub.entrypoints=websecure"
- "traefik.http.routers.targo-hub.tls.certresolver=letsencrypt"
- "traefik.http.services.targo-hub.loadbalancer.server.port=3300"
# Disable response buffering for SSE
- "traefik.http.middlewares.sse-headers.headers.customresponseheaders.X-Accel-Buffering=no"
- "traefik.http.routers.targo-hub.middlewares=sse-headers"
networks:
proxy:
external: true
erpnext_erpnext:
external: true