-
Notifications
You must be signed in to change notification settings - Fork 0
Installation
github-actions[bot] edited this page Jul 10, 2026
·
1 revision
From zero to a running AIrport stack. After this page: deploy the Cloud Run agents, set up the X-Plane plugin, then fly the Quickstart.
- Python 3.11 and uv
- Docker + Compose v2
- A GCP project with Vertex AI enabled and a service account with the
Vertex AI Userrole (used by the ASR corrector, the Orchestrator and the pilot agents) - A flightplandatabase.com API key
- X-Plane 12 — only for the in-sim part; the backend runs without it (see FAQ)
git clone https://github.com/Santisoutoo/AIrport.git
cd AIrport
uv sync
cp .env.example .env # fill in credentials — see Configuration
docker compose up --buildOpen the Controller HMI at http://localhost:8005.
First run: the ASR service downloads the Whisper ATC model (
jacktol/whisper-medium.en-fine-tuned-for-ATC-faster-whisper, ~1.5 GB) into theasr_hf_cacheDocker volume. Later runs reuse the cache and start fast.
.env.example does not currently list everything
docker-compose.yml consumes. Before the first
docker compose up:
-
Add
INFLUXDB_ORG=<org>andINFLUXDB_BUCKET=<bucket>— the InfluxDB container needs them to initialize. -
Add
GOOGLE_APPLICATION_CREDENTIALS_JSONwith your service-account JSON on a single line — the ASR and Orchestrator containers read it. -
Fix
DEL_AGENT_URL=1— it ships with a stray placeholder value; set the threeDEL/GND/TWR_AGENT_URLto your Cloud Run URLs (or leave them empty until you deploy the agents; see Cloud Agents Deployment). -
Create
config/redis/redis.conf— compose mounts it into the Redis container but the file is not in the repo; an empty file (default Redis config) is enough:mkdir -p config/redis && touch config/redis/redis.conf
Full variable reference: Configuration.
| Service | Host port | Check |
|---|---|---|
| Controller HMI | 8005 |
http://localhost:8005 loads · GET /api/v1/hmi/health
|
| Flight Plan | 8003 |
GET /api/v1/flight-plan/health |
| Weather | 8004 |
GET /api/v1/weather/health |
| ASR | 8006 |
GET /api/v1/asr/health (after the model download) |
| Orchestrator | 8007 |
GET /health |
| Arrival Simulator | 8008 |
GET /api/v1/arrivals/health |
| PostgreSQL / Redis / InfluxDB |
5432 / 6379 / 8087
|
docker compose ps shows them healthy |
All app containers listen on port 8000 internally except the Orchestrator (8006) — the
table above shows host-side ports. Anything failing → Troubleshooting.
- Cloud Agents Deployment — without the three agents the Orchestrator cannot generate pilot readbacks.
- X-Plane Plugin Setup — to see aircraft move in the simulator.
- Quickstart — run your first session.
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