Docker container to feed ADS-B data into plane.watch. Designed to work in tandem with mikenye/readsb-protobuf or another BEAST provider. Builds and runs on x86, x86_64, arm32v6, arm32v7 & arm64v8.
The container pulls ADS-B data from a BEAST provider (and optionally ACARS/VDLM2 data from appropriate sources) and sends data to plane.watch.
plane.watch is a small group of friends and aviation enthusiasts who operate an ADS-B, ACARS and VDLM2 data collection and display service for the benefit of the general public. While we are primarily based in Australia, we welcome data contributions from all over the world. We are a non-commercial entity - no data is sold or filtered/blocked.
For more information, please join our Discord and say g'day.
latest
: built nightly from themain
branchDockerfile
for all supported architectures.latest_nohealthcheck
is the same as thelatest
version above. However, this version has the docker healthcheck removed. This is done for people running platforms (such as Nomad) that don't support manually disabling healthchecks, where healthchecks are not wanted.- Specific version and architecture tags are available if required, however these are not regularly updated. It is generally recommended to run
latest
.
Head over to https://atc.plane.watch and sign up for an account.
Login to https://atc.plane.watch, click on Feeders, + New Feeder. Fill out your details.
When you save your feeder, an API Key will be generated. Take note of this, as it will be required when deploying the feeder container.
Our feeder container can be deployed with docker run
as follows:
docker run \
-d \
--rm \
--name planewatch \
-e TZ=YOUR_TIMEZONE \
-e BEASTHOST=YOUR_BEASTHOST \
-e API_KEY=YOUR_API_KEY \
-e LAT=YOUR_LATITUDE \
-e LONG=YOUR_LONGITUDE \
-e ALT=YOUR_ALTITUDE \
--tmpfs=/run:exec,size=64M \
--tmpfs=/var/log \
ghcr.io/plane-watch/docker-plane-watch:latest
Where:
YOUR_TIMEZONE
is your timezone in "TZ database name" format (eg:Australia/Perth
)YOUR_BEASTHOST
is the hostname, IP address or container name of a beast protocol provider (eg:piaware
)YOUR_API_KEY
is your plane.watch feeder API KeyYOUR_LATITUDE
is the latitude of your antenna (xx.xxxxx)YOUR_LONGITUDE
is the longitude of your antenna (xx.xxxxx)YOUR_ALTITUDE
is the your antenna altitude, and should be suffixed with eitherm
orft
. If no suffix, will default tom
.
You can test to ensure your container is seeing ADS-B data by running:
docker exec -it planewatch viewadsb
version: '3.8'
services:
planewatch:
image: ghcr.io/plane-watch/docker-plane-watch:latest
tty: true
container_name: planewatch
restart: always
environment:
- BEASTHOST=YOUR_BEASTHOST
- TZ=YOUR_TIMEZONE
- API_KEY=YOUR_API_KEY
- LAT=YOUR_LATITUDE
- LONG=YOUR_LONGITUDE
- ALT=YOUR_ALTITUDE
tmpfs:
- /run:exec,size=64M
- /var/log
Where:
YOUR_TIMEZONE
is your timezone in "TZ database name" format (eg:Australia/Perth
)YOUR_BEASTHOST
is the hostname, IP address or container name of a beast protocol provider (eg:piaware
)YOUR_API_KEY
is your plane.watch feeder API KeyYOUR_LATITUDE
is the latitude of your antenna (xx.xxxxx)YOUR_LONGITUDE
is the longitude of your antenna (xx.xxxxx)YOUR_ALTITUDE
is the your antenna altitude, and should be suffixed with eitherm
orft
. If no suffix, will default tom
.
You can test to ensure your container is seeing ADS-B data by running:
docker exec -it planewatch viewadsb
There are a series of available environment variables:
Environment Variable | Purpose | Default |
---|---|---|
API_KEY |
Required. Your plane.watch API Key | |
BEASTHOST |
Required. IP, hostname or container name of a Mode-S/BEAST provider (readsb/dump1090) | |
BEASTPORT |
Optional. TCP port number of Mode-S/BEAST provider (readsb/dump1090) | 30005 |
LAT |
Required for MLAT | Latitude of receiver antenna |
LONG |
Required for MLAT | Longitude of receiver antenna |
ALT |
Required for MLAT | Altitude of receiver antenna. Suffixed with ft or m . |
ENABLE_MLAT |
Optional. Set to false to disable MLAT |
true |
MLAT_DATASOURCE |
Optional. IP/Hostname and port of an MLAT data source | BEASTHOST:BEASTPORT setting if omitted |
TZ |
Optional. Your local timezone | GMT |
No ports are required to be mapped to this container.
- All processes are logged to the container's stdout, and can be viewed with
docker logs [-f] container
.
Please feel free to:
- Open an issue on the project's GitHub.
- Join our Discord and say g'day.
See the commit history on GitHub.