- 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>
34 lines
1.0 KiB
YAML
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
|