gigafibre-fsm/apps/field/infra/docker-compose.yaml
louispaulb 11cd38f93c feat: add field tech app — barcode scanner, tasks, diagnostics, offline
Mobile-first Quasar PWA for field technicians at erp.gigafibre.ca/field/:
- Multi-barcode scanner (photo + live + manual) with device lookup
- Tasks page: today's Dispatch Jobs + assigned tickets
- Diagnostic: speed test, HTTP resolve, batch service check
- Device detail with customer linking
- Offline support: IndexedDB queue, API cache, auto-sync
- Standalone nginx container with Traefik StripPrefix + Authentik SSO

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-30 23:00:44 -04:00

30 lines
1.1 KiB
YAML

# Targo Field — nginx container served at erp.gigafibre.ca/field/
# Deploy: docker compose -f docker-compose.yaml up -d
services:
field-frontend:
image: nginx:alpine
container_name: field-frontend
restart: unless-stopped
volumes:
- /opt/field-app:/usr/share/nginx/html:ro
- ./nginx.conf:/etc/nginx/conf.d/default.conf:ro
networks:
- proxy
labels:
- "traefik.enable=true"
- "traefik.http.routers.field.rule=Host(`erp.gigafibre.ca`) && PathPrefix(`/field`)"
- "traefik.http.routers.field.entrypoints=web,websecure"
- "traefik.http.routers.field.middlewares=authentik@file,field-strip@docker"
- "traefik.http.routers.field.service=field"
- "traefik.http.routers.field.tls.certresolver=letsencrypt"
- "traefik.http.routers.field.priority=200"
- "traefik.http.middlewares.field-strip.stripprefix.prefixes=/field"
- "traefik.http.middlewares.field-strip.stripprefix.forceSlash=false"
- "traefik.http.services.field.loadbalancer.server.port=80"
- "traefik.docker.network=proxy"
networks:
proxy:
external: true