docker-planefinder
docker-planefinder copied to clipboard
PlaneFinder pfclient, multi-architecture (x86_64, arm32v7, arm64)
sdr-enthusiasts/docker-planefinder
Docker container running PlaneFinder's's pfclient
. Designed to work in tandem with sdr-enthusiasts/docker-readsb-protobuf. Builds and runs on x86_64
, 386
, arm64
and arm32v7
(see below).
pfclient
pulls ModeS/BEAST information from a host or container providing ModeS/BEAST data, and sends data to PlaneFinder.
For more information on what pfclient
is, see here: https://planefinder.net/sharing/client.
IMPORTANT NOTE FOR USERS ON PI5/libpthread.so.0
Planefinder client 5.0.161
will see the following error on startup:
error while loading shared libraries: libpthread.so.0: ELF load command address/offset not page
This, at least at the moment, is not something we can fix and will require the upstream developers to fix. Alternative, in this issue you can find a work around which involves switching to a different kernel.
Supported tags and respective Dockerfiles
-
latest
(master
branch,Dockerfile
) - Version and architecture specific tags available
-
development
(dev
branch,Dockerfile
, not recommended for production)
Obtaining a PlaneFinder Share Code
First-time users should obtain a PlaneFinder Share Code.
In order to obtain a PlaneFinder Share Code, we will start a temporary container running pfclient
, which will run through a configuration wizard and generate a share code.
To do this, run the command:
docker run \
--rm \
-it \
--name pfclient_temp \
--entrypoint /firstrun \
-p 30053:30053 \
ghcr.io/sdr-enthusiasts/docker-planefinder:latest
Once the container has started, you should see a message such as:
2020-04-11 06:45:25.823307 [-] We were unable to locate a configuration file and have entered configuration mode by default. Please visit: http://172.22.7.12:30053 to complete configuration.
At this point, open a web browser and go to http://dockerhost:30053. Replace dockerhost
with the IP address of your host running Docker. You won't be able to use the URL given in the log output, as the IP address given will be the private IP of the docker container.
In your browser, go through the configuration wizard. When finished, you'll be given a PlaneFinder Share Code. Save this in safe place.
You can now kill the container by pressing CTRL-C
.
If you're not a first time user and are migrating from another installation, you can retrieve your sharing key by logging into your planefinder.net account, and going to "Your Receivers".
Up-and-Running with docker run
docker run \
-d \
--rm \
--name pfclient \
-p 30053:30053 \
-e TZ="YOURTIMEZONE" \
-e BEASTHOST=YOURBEASTHOST \
-e LAT=YOURLATITUDE \
-e LONG=YOURLONGITUDE \
-e SHARECODE=YOURSHARECODE \
ghcr.io/sdr-enthusiasts/docker-planefinder:latest
You should obviously replace YOURBEASTHOST
, YOURLATITUDE
, YOURLONGITUDE
and YOURSHARECODE
with appropriate values.
For example:
docker run \
-d \
--rm \
--name pfclient \
-p 30053:30053 \
-e TZ="Australia/Perth" \
-e BEASTHOST=readsb \
-e LAT=-33.33333 \
-e LONG=111.11111 \
-e SHARECODE=zg84632abhf231 \
ghcr.io/sdr-enthusiasts/docker-planefinder:latest
Up-and-Running with Docker Compose
version: "2.0"
services:
pfclient:
image: ghcr.io/sdr-enthusiasts/docker-planefinder:latest
tty: true
container_name: pfclient
restart: always
ports:
- 30053:30053
environment:
- TZ=Australia/Perth
- BEASTHOST=readsb
- LAT=-33.33333
- LONG=111.11111
- SHARECODE=zg84632abhf231
Claiming Your Receiver
Once your container is up and running, you should claim your receiver.
- Go to https://www.planefinder.net/
- Create an account and/or sign in
- Go to "Account" > "Manage Receivers"
- Click "Add receiver" and enter your share code when prompted
Runtime Environment Variables
There are a series of available environment variables:
Environment Variable | Purpose | Default |
---|---|---|
BEASTHOST |
Required. IP/Hostname of a Mode-S/BEAST provider (dump1090/readsb) | |
BEASTPORT |
Optional. TCP port number of Mode-S/BEAST provider (dump1090/readsy) | 30005 |
SHARECODE |
Required. PlaneFinder Share Code | |
LAT |
Required. Latitude of the antenna | |
LONG |
Required. Longitude of the antenna | |
TZ |
Optional. Your local timezone | GMT |
Ports
The following ports are used by this container:
-
30053
-pfclient
web GUI. Suggest mapping this port for the web GUI. -
30054
-pfclient
"echo port". Suggest leaving this port unmapped.
Logging
- All processes are logged to the container's stdout, and can be viewed with
docker logs [-f] container
.
Getting Help
You can log an issue on the project's GitHub.
I also have a Discord channel, feel free to join and converse.