Skip to content

Repository files navigation

WebATM License Python TypeScript

A modern web client for the BlueSky Air Traffic Management (ATM) simulator. WebATM provides a standalone web interface with interactive aircraft visualization to control air traffic management simulations from the Web.

image

Try WebATM Demo · Documentation

Features

  • Interactive map — Web Mercator or 3D globe view powered by MapLibre GL, with custom tile sources and fully offline (air-gapped) operation from a local PMTiles basemap and navdata overlay
  • Rich aircraft display — click-to-fly and follow modes, configurable labels/trails/routes/shapes, multiple 2D icon styles, and bundled 3D aircraft models (A320, A350, A380, B737, B787, EVTOL, and drone) from amvlab's open-source aircraft-models collection
  • Powerful command console — tab completion and autosuggestion for BlueSky commands, a searchable command palette, and picking coordinates straight from the map
  • Scenario management — upload, organize, and run BlueSky scenario (.scn) files and folders from the browser
  • Simulation control — multi-node simulations and seamless connection to BlueSky servers, all from a fully type-safe TypeScript client

See the full feature overview in the documentation.

webatm_demo

Editions

WebATM ships in two flavors, both open source and published to GHCR:

  • webatm (standalone) — the web client only. Connects to a BlueSky server you run yourself, on the docker host or elsewhere on the network.
  • webatm-integrated — bundles BlueSky inside the same container and adds in-app Start / Stop / Restart / Kill server controls plus a live server-log tab. See the Integrated Build docs.

WebATM works best with the amvlab fork of BlueSky, and is also compatible with the latest BlueSky from TU Delft.

Quick Start

Run the prebuilt image from GHCR with Docker Compose:

wget https://raw.githubusercontent.com/amvlab/WebATM/main/docker-compose.yml
docker compose up -d

Then open http://localhost:8082. By default the container connects to a BlueSky server on the Docker host (host.docker.internal); to run the integrated variant instead, uncomment the webatm-integrated service in docker-compose.yml and docker compose up -d webatm-integrated.

All other installation paths — running from source, the prebuilt release tarballs (no Node.js needed), and building the images yourself — are covered in Getting Started.

Documentation

Full documentation lives at docs.amvlab.eu:

License

Copyright (c) 2025–2026 amvlab

This project is licensed under the GNU Affero General Public License v3.0 (AGPL-3.0). See LICENSE file for details.

Acknowledgments

This software incorporates BlueSky - The Open Air Traffic Simulator technology developed by TU Delft (Delft University of Technology). We acknowledge and thank TU Delft for their contribution to the open aviation simulation community.

The offline basemap is built from Protomaps planet builds distributed as PMTiles, derived from OpenStreetMap data (© OpenStreetMap contributors, ODbL). The airport, runway, taxiway, and waypoint overlay is built from X-Plane navigation data (apt.dat and earth_fix.dat) released by Laminar Research under the GNU GPL, with airport importance ranking and IATA codes sourced from OurAirports (public domain).

Support

For inquiries and support, please contact amvlab.

About

Modern web client for the BlueSky Air Traffic Management simulator with a TypeScript frontend using MapLibre GL.

Topics

Resources

Stars

10 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages