# Copy to `.env` for local docker-compose runs, OR enter these values in # Portainer's Stack → Environment variables UI. # # All variables have defaults baked into compose.yaml — this file is the # documentation of what's configurable, not a hard requirement. # --------------------------------------------------------------------- # tcp-ingestion # --------------------------------------------------------------------- # Image tag to pull. `main` auto-tracks the latest commit on the main branch. # In production, pin to a specific commit SHA for reproducibility. # Example: TCP_INGESTION_TAG=af06973 TCP_INGESTION_TAG=main # Instance identifier — must be stable across the lifetime of the process. # Phase 2's connection registry depends on this; keep it unique per deployed # instance (e.g. `stage-1`, `stage-2`, `prod-eu-1`). TCP_INGESTION_INSTANCE_ID=stage-1 # Host port that GPS devices connect to. The container always listens on 5027 # internally; this maps it to a host port. If multiple stacks run on one host, # give each a distinct host port (e.g. 5028, 5029). TCP_INGESTION_PORT=5027 # --------------------------------------------------------------------- # postgres / TimescaleDB # --------------------------------------------------------------------- # Database superuser, password, and default database. Created on first # boot of the postgres container; the volume persists them after that. # IMPORTANT: change POSTGRES_PASSWORD before deploying to production. # Changing it after first boot has no effect — the volume already has # the password baked in. To rotate, ALTER USER inside psql. POSTGRES_USER=trm POSTGRES_PASSWORD=trm-pilot-change-me POSTGRES_DB=trm # --------------------------------------------------------------------- # processor # --------------------------------------------------------------------- # Image tag to pull. `main` auto-tracks the latest commit on the main branch. # In production, pin to a specific commit SHA for reproducibility. # Example: PROCESSOR_TAG=9791620 PROCESSOR_TAG=main # Instance identifier — must be stable across the lifetime of the process, # AND unique per running instance (it's used as the Redis consumer-group # member name; two instances with the same name will read from the same # Pending Entries List, which is undefined behaviour). PROCESSOR_INSTANCE_ID=processor-1 # --------------------------------------------------------------------- # Shared # --------------------------------------------------------------------- # pino log level: fatal | error | warn | info | debug | trace LOG_LEVEL=info