Skip to content

amvlab/WebATM

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.

webatm

Try WebATM Demo

Features

  • Intuitive Aircraft Interaction: Single-click to fly to any aircraft, double-click to activate follow mode
  • Customizable Aircraft Display: Toggle visibility of labels, icons, trails, routes, and shapes
  • Flexible Aircraft Styling: Choose from chevron, drone, triangle, or aircraft icon styles and customise colors
  • Smart Command Input: Tab completion for BlueSky commands with autosuggestion
  • Flexible Map Projection: Switch between Web Mercator and 3D globe view powered by MapLibre GL
  • Custom Map Sources: Configure custom tile sources to personalize your base map layer
  • BlueSky Integration: Seamless connection to BlueSky ATM simulator servers
  • Modern TypeScript Architecture: Fully type-safe, maintainable client-side codebase

🚀 WebATM Pro Version Available

Looking for more advanced features? WebATM Pro includes additional capabilities not available in this open source version:

  • Server Development Environment: Modify and develop BlueSky server code directly from the web interface
  • 3D Visualisation: Advanced 3D aircraft and terrain visualization
  • Enhanced Server Management: Full control over BlueSky server lifecycle (stat/stop/restart)
  • Multi-Server Support: Connect and manage multiple BlueSky simulation servers
  • Flexible Deployment: amvlab can provide managed hosting or deploy on your local network for full data sovereignty

Visit amvlab.eu for Pro Version

Prerequisites

For Local Development

Compatibility

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

Quick Start

Option 1: Local Deployment

  1. Clone the repository

    git clone https://github.com/amvlab/WebATM
    cd WebATM
  2. Install Python dependencies

    pip install -r requirements.txt
  3. Build TypeScript assets

    script/build_ts.sh
  4. Start the application

    script/run_webatm.sh
  5. Access the web interface

    Open your browser to: http://localhost:8082

Option 2: Docker Deployment

  1. Build the Docker image

    docker build -t webatm:latest .
  2. Start with Docker Compose

    docker compose up -d
  3. Access the web interface

    Open your browser to: http://localhost:8082

  4. View logs

    docker compose logs -f webatm

Configuration

Environment Variables

Variable Description Default
WEB_HOST Web server bind address localhost
WEB_PORT Web server port 8082
BLUESKY_SERVER_HOST BlueSky server hostname/IP localhost

BlueSky Server Ports

WebATM connects to BlueSky servers using the standard BlueSky network ports (11000 and 11001).

Important: These ports are currently not configurable. Ensure your BlueSky server runs with default port configuration.

Code Quality

Python:

# Linting with Ruff
ruff check .

# Format code
ruff format .

TypeScript:

cd WebATM/static/ts/
npm run type-check

License

Copyright (c) 2025 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.

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

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •