-
Notifications
You must be signed in to change notification settings - Fork 0
Configuration
Complete environment-variable reference for the AIrport stack. Copy
.env.example to .env and fill it in — but note .env.example
is currently incomplete; the variables marked ⚠ below must be added by hand.
Authoritative source: docker-compose.yml plus each service's
settings module.
| Variable | Default | Notes |
|---|---|---|
DEL_AGENT_URL / GND_AGENT_URL / TWR_AGENT_URL
|
— | Cloud Run URLs of the pilot agents (deployment guide). .env.example ships a stray DEL_AGENT_URL=1 — replace it. |
VERTEX_PROJECT |
— | GCP project ID. Compose forwards it as GOOGLE_CLOUD_PROJECT to ASR and Orchestrator. |
VERTEX_LOCATION |
global |
Forwarded as GOOGLE_CLOUD_LOCATION. |
GEMINI_MODEL |
gemini-3.1-flash-lite |
Forwarded as ASR_LLM_MODEL (ASR corrector) and AGENT_MODEL (Orchestrator agent; also required by each Cloud Run agent). |
⚠ GOOGLE_APPLICATION_CREDENTIALS_JSON
|
— | Service-account JSON on a single line; read by ASR and Orchestrator (the Orchestrator entrypoint writes it to /tmp/sa-key.json). Missing from .env.example. |
GOOGLE_GENAI_USE_VERTEXAI |
True (set by compose) |
Makes google-genai/adk use Vertex AI instead of an API key. |
GCP_SA_KEY_PATH / GCLOUD_CREDENTIALS_DIR
|
./secrets/sa-key.json / — |
Alternative key-file mounting paths. |
| Variable | Default | Notes |
|---|---|---|
POSTGRES_HOST / POSTGRES_PORT
|
postgres / 5432
|
Service name inside the compose network. |
POSTGRES_DB / POSTGRES_USER / POSTGRES_PASSWORD
|
airport / airport_user / change_me
|
Override the password in .env. The HMI receives these as DB_HOST/DB_PORT/DB_NAME/DB_USER/DB_PASS. |
REDIS_HOST / REDIS_PORT / REDIS_DB
|
redis / 6379 / 0
|
Compose also injects REDIS_URL=redis://redis:6379 into ASR, HMI and Arrival Simulator. |
⚠ INFLUXDB_ORG / INFLUXDB_BUCKET
|
— |
Required by the InfluxDB container init (DOCKER_INFLUXDB_INIT_*); missing from .env.example. InfluxDB admin password reuses POSTGRES_PASSWORD. |
Compose sets these to the internal container ports — don't replace them with
localhost or host ports:
| Variable | Compose value | Consumer |
|---|---|---|
ORCHESTRATOR_URL |
http://orchestrator_service:8006 |
ASR (dispatch), HMI (proxy) |
ASR_URL |
http://asr_service:8000/api/v1/asr |
HMI (transcribe proxy) |
FLIGHT_PLAN_SERVICE_URL |
http://flight_plan_service:8000/api/v1/flight-plan |
Orchestrator, Arrival Simulator |
WEATHER_SERVICE_URL |
http://weather_service:8000/api/v1/weather |
Orchestrator |
HMI_SERVICE_URL |
http://controller_hmi_service:8000 |
Arrival Simulator |
ORCHESTRATOR_SERVICE_URL |
http://orchestrator_service:8006 |
Arrival Simulator |
| Variable | Default | Notes |
|---|---|---|
FLIGHT_PLAN_GENERATOR_KEY |
— | flightplandatabase.com API key; without it the service falls back to the local generator. |
| Variable | Default | Notes |
|---|---|---|
ASR_HF_MODEL |
jacktol/whisper-medium.en-fine-tuned-for-ATC-faster-whisper |
~1.5 GB, cached in the asr_hf_cache volume. |
ASR_WHISPER_LANGUAGE |
en |
|
ASR_WHISPER_DEVICE |
cpu |
cuda for GPU deployments (Dockerfile.gpu, see FAQ). |
ASR_WHISPER_COMPUTE_TYPE |
int8 |
|
ASR_WHISPER_BEAM_SIZE |
5 |
|
ASR_REQUEST_TIMEOUT / ASR_PORT / ASR_LOG_LEVEL / ASR_WORKERS
|
30 / 8000 / info / 1
|
|
ASR_LLM_MODEL |
from GEMINI_MODEL
|
Model for the LLM callsign corrector. |
| Variable | Default | Notes |
|---|---|---|
ARRIVAL_INTERVAL_S |
120 |
Seconds between spawned arrivals (the only one in compose). |
ARRIVAL_MIN_CONCURRENT |
3 |
Minimum concurrent arrivals kept alive. |
ARRIVAL_CHECK_INTERVAL_S |
15.0 |
Scheduler tick. |
ARRIVAL_SLOT_SEP_NM / ARRIVAL_SPAWN_DISTANCE_NM / ARRIVAL_SPAWN_ALT_AGL_FT
|
5.0 / 10.0 / 5000
|
Spawn geometry on the ILS. |
ARRIVAL_IAS_KTS / ARRIVAL_VS_FPM
|
160 / -1333
|
Approach speed profile. |
ARRIVAL_REQUEST_AT_NM / ARRIVAL_DECEL_KTS_S / ARRIVAL_STOP_KTS / ARRIVAL_VACATE_KTS
|
4.0 / 4.0 / 20.0 / 15.0
|
Landing/vacate profile. |
Every app container listens on 8000 internally except the Orchestrator, which listens on
8006 (its host port is 8007). That is why ORCHESTRATOR_URL is
http://orchestrator_service:8006 for containers but http://localhost:8007 from the host
and the X-Plane plugin.
| Service | Host | Container |
|---|---|---|
| Flight Plan | 8003 | 8000 |
| Weather | 8004 | 8000 |
| Controller HMI | 8005 | 8000 |
| ASR | 8006 | 8000 |
| Orchestrator | 8007 | 8006 |
| Arrival Simulator | 8008 | 8000 |
| PostgreSQL / Redis | 5432 / 6379 | 5432 / 6379 |
| InfluxDB | 8087 | 8086 |
Installation · Troubleshooting · Cloud Agents Deployment
This page supersedes
docs/configuration.md, which now points here.
Getting Started
Help
Modules
- System-Overview
- Agents
- Shared
- X-Plane
- Service-Arrival-Simulator
- Service-Asr
- Service-Controller-Hmi
- Service-Flight-Plan
- Service-Orchestrator
- Service-Weather
Internals