- Quellenangaben und Verlinkungen zu Texten, Bildmaterialien und Codepassagen, welche in meinem Tutorial verwendet werden
- github.com/orgs/sdr-enthusiasts/repositories?type=all
Insbesondere:
github.com/sdr-enthusiasts/docker-adsb-ultrafeeder
github.com/sdr-enthusiasts/docker-flightradar24
github.com/sdr-enthusiasts/docker-piaware
github.com/sdr-enthusiasts/docker-planefinder
github.com/sdr-enthusiasts/docker-opensky-network
etc.
Ein bisschen ChatGPT zum Debuggen
Screenshots habe ich selbst angefertigt und jeweils die Quellen angegeben wo es nötig ist.
- Ich bestätige, dass mein Tutorial keine Urheberrechte verletzt und bin mir bewusst, für meine Inhalte selbst verantwortlich zu sein.
- Ja
Vorgeschichte:
Bisher nutze ich fürs "Füttern" von Flightradar24, FlightAware etc. einen Raspberry Pi 3B+ mit ADS-B Antenne, die hinter einem Wohnungsfenster Richtung Osten steht. Der Empfang ist meiner Meinung nach ganz okay für das kleine Setup, aber ich bekomme wenn's gut läuft eben nicht ganz den halben östlichen Himmel. Um das ein bisschen zu boosten wollte ich noch einen zweiten Raspberry in Richtung Westen aufstellen und hatte mir schon einen zweiten ADS-B USB-Stick und eine zweite Antenne besorgt und war kurz davor noch einen RPi zu besorgen.
Da nun aber noch ein UGREEN NAS hier eingezogen ist, hat es sich angeboten, dieses stattdessen für den Job zu nutzen und mir die Kosten für einen Raspberry zu sparen.
Einkaufsliste:
Alles was man hardware-mäßig braucht ist z.B. folgenden USB-Stick, den ich gerne nutze:

(Bildquelle: AliExpress, siehe Link)
Dazu noch eine kleine Antenne wie diese von Amazon:
https://www.amazon.de/dp/B07ZH5FJBW
(Bildquelle: Amazon, siehe Link)
Diese Kombination benutze ich schon seit Ewigkeiten ohne Probleme.
Wer ein Komplettset bei Amazon kaufen möchte, bei dem aber noch Zeugs unnötig übrigbleibt, kann auch zu folgendem greifen. Mit 56€ aber nicht billig nur für den einen Zweck:
https://www.amazon.de/dp/B01GDN1T4S
(Bildquelle: Amazon, siehe Link)
Hat man also die Hardware beisammen, wird die Antenne an den USB-Stick geschraubt und dieser in einen USB-Port des UGREEN NAS gesteckt.
Der Rest passiert in der SSH-Konsole und in Portainer, sowie auf diversen Webseiten wo ihr euch API-Keys besorgt für die jeweiligen Dienste.
Falls ihr Portainer noch nicht installiert habt, geht es erst mal hier weiter: [TUT] Portainer - Installationsanleitung
DVB-T? Nein, danke! ADS-B? Ja, bitte!
Wenn ihr den USB-Stick das erste mal ins NAS steckt, wird dieser vom System als DVB-T Stick erkannt und reserviert, bevor Docker ihn sich schnappen kann um ADS-B Flugdaten zu empfangen statt Fernsehsignalen. Lösung: Den DVB-T Part auf eine Blackliste setzen:
sudo nano /etc/modprobe.d/rtl-sdr-blacklist.conf
In die .conf-Datei kommt folgendes rein:
Und das NAS nochmal rebooten!
In Portainer:
In Portainer fügen wir einen neuen Stack hinzu:
Der Webeditor öffnet sich und wir geben dem Stack z.B. den Namen: adsb-ultrafeeder
Im Textfeld des Webeditors fügen wir folgendes YML ein (Wenn euch Flightradar24 reicht, könnt ihr die anderen Zeilen zu FlightAware, Plane Finder und Opensky Network natürlich weglassen):
version: "3"
services:
adsb-ultrafeeder:
image: ghcr.io/sdr-enthusiasts/docker-adsb-ultrafeeder:latest
container_name: adsb-ultrafeeder
restart: unless-stopped
devices:
- /dev/bus/usb:/dev/bus/usb
ports:
- "8080:80"
- "30005:30005"
environment:
- TZ=Europe/Berlin
- READSB_DEVICE_TYPE=rtlsdr
- READSB_RTLSDR_DEVICE_INDEX=0
- READSB_LAT={LATITUDE}
- READSB_LON={LONGITUDE}
fr24feed:
image: ghcr.io/sdr-enthusiasts/docker-flightradar24:latest
container_name: fr24feed
restart: unless-stopped
environment:
- BEASTHOST=adsb-ultrafeeder
- BEASTPORT=30005
- TZ=Europe/Berlin
- FR24KEY={FLIGHTRADAR24KEY}
depends_on:
- adsb-ultrafeeder
dns_search: .
piaware:
image: ghcr.io/sdr-enthusiasts/docker-piaware:latest
container_name: piaware
restart: unless-stopped
environment:
- TZ=Europe/Berlin
- FEEDER_ID={PIAWARE_UID}
- RECEIVER_TYPE=relay
- BEASTHOST=adsb-ultrafeeder
planefinder:
image: ghcr.io/sdr-enthusiasts/docker-planefinder:latest
container_name: planefinder
restart: unless-stopped
ports:
- 30053:30053
environment:
- TZ=Europe/Berlin
- BEASTHOST=adsb-ultrafeeder
- LAT={LATITUDE}
- LONG={LONGITUDE}
- SHARECODE={PLANEFINDER_SHARECODE}
opensky:
image: ghcr.io/sdr-enthusiasts/docker-opensky-network:latest
container_name: opensky
restart: unless-stopped
environment:
- TZ=Europe/Berlin
- BEASTHOST=adsb-ultrafeeder
- LAT={LATITUDE}
- LONG={LONGITUDE}
- ALT={ALTITUDE_METER}
- OPENSKY_USERNAME={OPENSKY_USERNAME}
- OPENSKY_SERIAL={OPENSKY_SERIAL}
Alles anzeigen
Einige Werte müsst ihr noch anpassen und ersetzen:
{LATITUDE}, {LONGITUDE} und {ALTITUDE_METER} ist der Standort eurer Antenne, also Breitengrad, Längengrad und Höhe in Metern.
Diesen könnt ihr z.B. bequem hier ermitteln: https://www.freemaptools.com/elevation-finder.htm
{FLIGHTRADAR24KEY}, {PIAWARE_UID}, {PLANEFINDER_SHARECODE}, {OPENSKY_USERNAME} und {OPENSKY_SERIAL} sind die Keys/Schlüssel, mit denen ihr euch bei den jeweiligen Diensten identifiziert.
Wie man beispielsweise an einen Flightradar24 Sharing Key oder eine PiAware Feeder ID kommt, habe ich in Post #2 beschrieben:
RE: [TUT] ADS-B Ultrafeeder in Portainer - Flugdaten empfangen und senden an Flightradar24, FlightAware, Plane Finder etc
- Gehe zu https://www.flightradar24.com/
- Registriere einen FREE Account
- Merke dir deine E-Mail Adresse
- Lese dir das schonmal durch: Obtaining a Flightradar24 Sharing Key for ADSB:
- Du kannst also jetzt in der UGREEN SSH Konsole den Befehl aus dem Link eingeben oder wie ein feiger Anfänger wie ich eine Linux VM aufsetzen, Docker installieren und den Befehl dort eingeben. Der perfekte Moment die Virtual Machine App in UGOS zu testen
- Nach Eingabe des
Mögliche Probleme:
Wenn ihr nun versucht den Stack zu deployen kann es gut sein, dass Github euch den Download nicht erlaubt, da ihr nicht eingeloggt seid. Eine mögliche Lösung beschreibe ich nachfolgend, mit der ihr die nötigen Images in der SSH-Konsole ziehen könnt.
Ihr braucht einen GitHub Account und ein Personal Access Token.
Loggt euch in euer GitHub ein und geht auf folgende Seite:

Dort erstellt ihr ein klassisches Token ...
... und wählt dabei read:packages:
Ihr erhaltet eine 40-stellige Zeichenkette, die ihr euch rauskopieren und merken müsst, wir nennen sie mal {PAT}.
Falls noch nicht geschehen, sollte in eurem UGREEN NAS der Personal Folder für euren Benutzer aktiviert sein, damit er ein Verzeichnis /home/username hat.
Euren GitHub Token könnt ihr dann wie folgt absichern:
echo "{PAT}" | docker login ghcr.io -u {USERNAME} --password-stdin
{PAT} ersetzt ihr natürlich mit eurem Token und {USERNAME} ist euer GitHub Benutzername.
Falls der User den docker-Befehl nicht ausführen darf, ggf. noch folgendes vorher ausführen:
sudo usermod -aG docker $USER
Images manuell herunterladen:
Falls die Images/Container also beim Deployen des Stacks nicht heruntergeladen werden konnten, sollte es jetzt in der SSH-Konsole klappen. Ihr braucht natürlich nur die Images herunterladen, die ihr auch nutzt, also mindestens die ersten beiden Zeilen, wenn ihr nur Flightradar24 nutzen wollt.
sudo docker pull ghcr.io/sdr-enthusiasts/docker-adsb-ultrafeeder:latest
sudo docker pull ghcr.io/sdr-enthusiasts/docker-flightradar24:latest
sudo docker pull ghcr.io/sdr-enthusiasts/docker-piaware:latest
sudo docker pull ghcr.io/sdr-enthusiasts/docker-planefinder:latest
sudo docker pull ghcr.io/sdr-enthusiasts/docker-opensky-network:latest
Danach nochmal den Stack deployen und es sollte hoffentlich erfolgreich durchlaufen.
Flugdaten empfangen:
Wenn alle Dienste gestartet sind könnt ihr im Browser prüfen, ob euer Setup schon Flugdaten empfängt.
Dazu könnt ihr folgendes aufrufen: http://<IP_eures_NAS>:8080/ und solltet eine Kartenansicht mit Flugzeugen sehen, deren ADS-B Signale von eurer Antenne empfangen werden!
Nach ein paar Minuten sollten diese Daten auch in den Webdiensten erscheinen, die ihr im Stack Deploy angegeben habt, also Flightradar24, Flightaware etc. Ob es erfolgreich läuft seht ihr auf deren Status-Seiten:

https://www.flightaware.com/adsb/stats/user/<flightaware_username>
https://planefinder.net/account/receivers
https://opensky-network.org/my-opensky/sensors/view-sensors
Logs:
Sollte das nicht der Fall sein, könnt ihr im Stack das jeweilige Logfile anschauen und das Problem gegebenenfalls selbst fixen oder mal berichten wo es hakt.
Wozu das Ganze?
Also zum einen erhält man durch das Füttern der Dienste einen kostenlosen Business/Premium/Pro-Account mit mehr Features, ein solcher Account würde Unternehmen locker einige Hundert bis Tausende € im Jahr kosten Wer flugbegeistert ist, wird sich sicher über einen größeren Funktionsumfang freuen. Die Features auf den jeweiligen Seiten aufzulisten würde zu lange dauern
Und zum anderen Freude am Basteln/Spielen mit dem neuen NAS.
Ich bin auf euer Feedback und Erfolge oder Misserfolge mit meinem Tutorial gespannt.