Install SkyBoss ATC

SkyBoss sits next to tar1090, PiAware, or SkyAware. It does not replace that map. You need a receiver already decoding ADS-B.

Read the script first

The install command downloads a shell script and runs it. Open the raw file before you run it. On this site the script is /install, byte-for-byte the same as /install.sh.

curl -sSL https://skybossatc.com/install -o skyboss-install.sh less skyboss-install.sh SKYBOSS_LICENSE_KEY='your-key' bash skyboss-install.sh

Replace your-key with the license key from the purchase email. The script stops before it installs anything if that key is missing.

What you need

Keep tar1090. SkyBoss uses the same aircraft feed.

1. Have a feed

After the license key is accepted, the installer probes common local URLs, including http://localhost:8080/data/aircraft.json. If dump1090-fa or readsb is active, it prints that decoder. If nothing answers, it still finishes and writes that default URL into config/settings.yaml under your install directory (~/skyboss-atc). Start the decoder, or edit local_receiver.url, then restart the service.

2. Run the installer with your key

From a terminal on the Pi, use the same command as above:

curl -sSL https://skybossatc.com/install -o skyboss-install.sh less skyboss-install.sh SKYBOSS_LICENSE_KEY='your-key' bash skyboss-install.sh

What it does, in order:

  1. If SKYBOSS_LICENSE_KEY is missing, it prints License key required., then SkyBoss ATC downloads only with the license key from your purchase., then Run: SKYBOSS_LICENSE_KEY='your-key' bash skyboss-install.sh, and stops. If the key contains anything other than letters, digits, and hyphens, it prints Invalid license key. and stops. No packages are installed in either case.
  2. If curl, Python 3, the Python venv module, or tar is missing, it installs curl, Python 3, python3-venv, python3-pip, and tar with apt. After that check it sends the key to https://skybossatc.com/api/download.
  3. That address checks the key with Lemon Squeezy. Invalid license key., License key expired., License key revoked., License server unreachable., and Download limit reached for today. are printed as-is, and the script stops. ~/skyboss-atc is not created. A valid key whose private release is not configured yet stops the same way and names the missing setting.
  4. Detects dump1090-fa or readsb.
  5. Downloads the Pi app from the short-lived link and unpacks it into ~/skyboss-atc. An update keeps config/settings.yaml, log files, and database files. The release copies of data/notable_aircraft.json and data/aircraft_db.csv replace the previous copies. If the archive has no backend/main.py, it prints Release archive does not contain backend/main.py. and stops. If it has no frontend/dist, it prints The release archive has no frontend/dist. The desk cannot load. and stops.
  6. Creates a Python virtualenv and installs dependencies.
  7. Writes config/settings.yaml on a first install.
  8. Enables and starts the skyboss-atc systemd service.
  9. If the Pi is on Wi-Fi and scripts/setup-wifi-reliability.sh is in the release, it runs that script.

3. Open port 8000

On any phone, tablet, or computer on the same LAN, open:

http://<your-pi-ip>:8000

Enter the same license key, then pick the airport in the wizard. The desk opens after that. The wizard includes 3,465 US airports.

Launching soon. $39 one-time. No subscription.

After it is running

sudo systemctl status skyboss-atc journalctl -u skyboss-atc -f sudo systemctl restart skyboss-atc

To update an existing install, run the installer again with the same key. Settings, log files, and database files stay in place. The release replaces data/notable_aircraft.json and data/aircraft_db.csv, and the service restarts:

curl -sSL https://skybossatc.com/install -o skyboss-install.sh SKYBOSS_LICENSE_KEY='your-key' bash skyboss-install.sh

Map tiles

Mapbox is optional. If you have a Mapbox token, put it in config/settings.yaml under mapbox.access_token. Without a token, the desk uses a free dark basemap.

Antenna, not a substitute feed

Optional network fill can draw aircraft on the map when your antenna misses one. It does not replace a good antenna. Go-around alerts use your antenna only. When fill is unavailable, the desk says so.

Voice

Spoken alerts are optional offline text-to-speech. They are not live tower audio and they are not a radio.