Files
terra-view/docker-compose.yml
T
serversdown b2bfa6d268 compose: set TZ=America/New_York on terra-view + sfm services
Default display timezone for server logs + PDF report rendering on
both terra-view and sfm services.  Override per-deployment in this
file for non-US-East installations.

DB columns are always UTC regardless — only affects what operators
see in logs / PDFs / any text-rendered timestamp.  Modal display
uses browser TZ via toLocaleString (no server config needed).

Pairs with seismo-relay commit 6381dcb (tz env var support in the
Dockerfile + report_pdf UTC→local conversion).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-28 05:41:26 +00:00

79 lines
2.0 KiB
YAML

services:
terra-view:
build: .
ports:
- "8001:8001"
volumes:
- ./data:/app/data
environment:
- PYTHONUNBUFFERED=1
- ENVIRONMENT=production
- SLMM_BASE_URL=http://host.docker.internal:8100
- SFM_BASE_URL=http://sfm:8200
# Display timezone for server logs + any text-rendered timestamps.
# DB columns are stored UTC regardless; this only affects what
# operators see. Override here for non-US-East deployments.
- TZ=America/New_York
restart: unless-stopped
depends_on:
- slmm
- sfm
extra_hosts:
- "host.docker.internal:host-gateway"
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:8001/health"]
interval: 30s
timeout: 10s
retries: 3
start_period: 40s
# --- SLMM (Sound Level Meter Manager) ---
slmm:
build:
context: ../slmm
dockerfile: Dockerfile
network_mode: host
volumes:
- ../slmm/data:/app/data
environment:
- PYTHONUNBUFFERED=1
- PORT=8100
- CORS_ORIGINS=*
- TCP_IDLE_TTL=-1
- TCP_MAX_AGE=-1
restart: unless-stopped
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:8100/health"]
interval: 30s
timeout: 10s
retries: 3
start_period: 10s
# --- SFM (Seismo Fleet Manager) ---
sfm:
build:
context: ../seismo-relay
dockerfile: Dockerfile
ports:
- "8200:8200"
volumes:
- ../seismo-relay/sfm/data:/app/sfm/data
- ../seismo-relay/bridges/captures:/app/bridges/captures
environment:
- PYTHONUNBUFFERED=1
- PORT=8200
# Display timezone — affects server log timestamps, the PDF
# report renderer's UTC→local conversions, and matplotlib's
# datetime axes. DB columns (created_at etc.) are always UTC.
- TZ=America/New_York
restart: unless-stopped
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:8200/health"]
interval: 30s
timeout: 10s
retries: 3
start_period: 10s
volumes:
data: