Das Wichtigste in Kürze
- Ein Container als Herzstück: Ultrafeeder bündelt readsb als Dekoder, tar1090 als Karte, graphs1090 als Statistik und einen mlat-client pro MLAT-Server.
- Community-Netze per Zeile: adsb.fi, adsb.lol, airplanes.live und andere trägst du in der Variable ULTRAFEEDER_CONFIG ein – je eine Zeile für Daten und eine für MLAT.
- Kommerzielle Dienste als Beistellcontainer: FlightAware, Flightradar24, AirNav Radar und Plane Finder laufen in eigenen Containern, die ihre Daten mit BEASTHOST=ultrafeeder vom Herzstück holen.
- Alle Einstellungen an einem Ort: Koordinaten, Höhe, Schlüssel und UUIDs stehen in einer .env-Datei, die Dienste in einer docker-compose.yml.
- Eine UUID pro Netz: Die Anleitung der sdr-enthusiasts rät zu getrennten UUIDs, damit deine Station nicht netzübergreifend wiedererkannt werden kann.
Inhaltsverzeichnis
- 1.Die kurze Antwort
- 2.Warum Docker für einen ADS-B-Empfänger?
- 3.Was im Ultrafeeder steckt
- 4.Vorbereitung: Hardware und Hostsystem
- 5.Projektordner und .env-Datei
- 6.Die docker-compose.yml mit Ultrafeeder
- 7.Kommerzielle Netze als eigene Container
- 8.MLAT mit mehreren Netzen
- 9.Betrieb: Logs, Updates, Gesundheit
- 10.Für wen sich der Umstieg lohnt
- 11.Fazit
Erst PiAware, dann fr24feed, dann noch das Skript für adsb.fi und eins für adsb.lol – wer seinen Empfänger über Jahre wachsen lässt, hat irgendwann ein System voller Dienste, Konfigurationsdateien und Abhängigkeiten. Die Community sdr-enthusiasts geht einen anderen Weg: Ein einziger Docker-Container namens Ultrafeeder übernimmt Dekodierung, Karte, Statistik und alle Community-Feeds, und jedes weitere Netz kommt als eigener, sauber getrennter Container dazu. Dieser Guide zeigt dir, wie du mehrere ADS-B-Netzwerke gleichzeitig mit Ultrafeeder fütterst, welche Dateien du brauchst und wie du den Überblick behältst.
Vom Empfänger direkt zur Sichtung
Mit Planetrack hältst du jede Sichtung mit Foto, Kennzeichen, Typ, Airline, Flughafen und Spot fest – und Sichtungs-Alarme melden dir, wenn ein beobachtetes Kennzeichen im Anflug ist. Planetrack startet bald – trag dich in die Warteliste ein und sichere dir frühen Zugang.
Die kurze Antwort
Du fütterst mehrere Netze gleichzeitig, indem du auf einem Linux-Rechner Docker installierst und eine docker-compose.yml mit dem Ultrafeeder-Container als Zentrale anlegst. Ultrafeeder liest deinen SDR-Stick, dekodiert die Signale mit readsb und schickt die Daten an alle Community-Netze, die du in der Variable ULTRAFEEDER_CONFIG einträgst. Kommerzielle Dienste wie FlightAware oder Flightradar24 hängst du als zusätzliche Container an, die ihre Daten per BEASTHOST=ultrafeeder aus der Zentrale beziehen. Koordinaten, Höhe und Schlüssel stehen gesammelt in einer .env-Datei.
Das Prinzip ist dasselbe wie bei den Einzelskripten aus An ADS-B Exchange und Community-Netze feeden: Ein Dekoder erzeugt einen Datenstrom, mehrere Feeder greifen ihn ab. Nur dass bei Docker jeder Baustein in seiner eigenen Kapsel läuft.
Warum Docker für einen ADS-B-Empfänger?
Die sdr-enthusiasts begründen ihren Ansatz in ihrem Guide mit mehreren Punkten, die für Spotter mit wachsendem Feeder-Zoo direkt greifbar sind:
- Isolation: Jeder Container bringt seine eigene Software mit. Unterschiedliche Versionen von Bibliotheken kommen sich nicht in die Quere, und das Hostsystem bleibt sauber.
- Einfache Erweiterung: Ein neues Netz bedeutet einen weiteren Container oder zwei Zeilen Konfiguration – keine Sorge, dass ein Installationsskript etwas überschreibt.
- Zentrale Konfiguration: Statt Dateien unter
/etc/default/und in diversen Programmordnern zu pflegen, steht alles in der Compose-Datei und der.env-Datei. - Gemeinsame Hardware: Der Rechner kann nebenbei andere Dienste tragen. Das spart ein zusätzliches Gerät und Strom.
Der Preis: Du solltest ein paar Docker-Grundbegriffe kennen oder bereit sein, sie zu lernen. Wer nur ein Netz füttern will und schon einen laufenden Pi hat, kommt mit den klassischen Paketen oft schneller ans Ziel. Einen Überblick über alle Varianten gibt ADS-B-Feeder-Programme im Vergleich.
Was im Ultrafeeder steckt
Ultrafeeder ist kein neues Programm, sondern ein sorgfältig geschnürtes Paket bewährter Open-Source-Werkzeuge:
| Baustein | Aufgabe |
|---|---|
| readsb | Dekodiert die Signale des SDR-Sticks und verteilt die Daten über Netzwerk-Ports |
| tar1090 | Kartenoberfläche im Browser, inklusive Wiedergabe, Spuren der letzten 24 Stunden und Heatmap |
| graphs1090 | Diagramme zu Nachrichtenrate, Reichweite, Signalstärke und Systemlast |
| mlat-client | Je eine Instanz pro eingetragenem MLAT-Server |
| MLAT-Hub | Führt berechnete MLAT-Positionen aus mehreren Quellen zusammen |
| Autogain | Regelt die Verstärkung des RTL-SDR, empfohlen ist die eingebaute Variante von readsb |
Wenn du readsb und tar1090 schon kennst, findest du dich sofort zurecht – die Oberflächen sind dieselben wie in readsb und tar1090 installieren. Neu ist nur, dass alles in einem Container läuft und über Umgebungsvariablen gesteuert wird.
Vorbereitung: Hardware und Hostsystem
An Hardware brauchst du das Übliche: einen Rechner, einen SDR-Stick und eine 1090-MHz-Antenne. Welcher Stick sich eignet, klärt SDR-Sticks für ADS-B im Vergleich, die Antenne baust du nach 1090-MHz-Antenne selber bauen. Der Rechner muss kein Raspberry Pi sein; der Guide der sdr-enthusiasts richtet sich an Debian-basierte Systeme wie Raspberry Pi OS, Ubuntu oder DietPi. Mögliche Alternativen zum Pi beschreibt ADS-B-Empfang ohne Raspberry Pi.
Für das Hostsystem stellt das Projekt ein Installationsskript bereit, das Docker und das Compose-Plugin einrichtet, die udev-Regeln für RTL-SDR-Sticks anpasst und die vorinstallierten Kernel-Treiber für die Sticks sperrt, damit die Container auf den Stick zugreifen können:
bash <(curl -s https://raw.githubusercontent.com/sdr-enthusiasts/docker-install/main/docker-install.sh)
Wie immer bei Skripten aus dem Netz gilt: Lies es vorher durch. Das Projekt selbst empfiehlt genau das.
Den Stick umbenennen
Fast alle RTL-SDR-Sticks kommen mit derselben Seriennummer aus der Fabrik. Damit der Container den richtigen Stick findet – spätestens wenn ein zweiter für Flugfunk oder UAT dazukommt –, vergibst du eine eindeutige Seriennummer. Die Empfehlung lautet 1090 für den ADS-B-Stick. Dazu steckst du nur diesen einen Stick an und schreibst die Nummer mit rtl_eeprom aus dem Ultrafeeder-Image:
docker run --rm -it --device /dev/bus/usb --entrypoint rtl_eeprom ghcr.io/sdr-enthusiasts/docker-adsb-ultrafeeder -s 1090
Nach dem Bestätigen ziehst du den Stick ab und steckst ihn neu ein. Ein Neustart des Rechners reicht laut Anleitung nicht.
Koordinaten und Höhe jetzt notieren
Für MLAT brauchst du Breite, Länge und die Höhe der Antenne über dem Meeresspiegel so genau wie möglich – Geländehöhe plus Montagehöhe. Ein Mast auf dem Dach liegt schnell zehn Meter über dem Boden. Diese Werte trägst du gleich einmal zentral ein und nutzt sie für alle Netze.
Projektordner und .env-Datei
Der Guide legt alles unter /opt/adsb ab. Dort liegen die Compose-Datei und eine versteckte .env-Datei mit deinen Stammdaten:
sudo mkdir -p -m 777 /opt/adsb
cd /opt/adsb
nano .env
In die .env gehören unter anderem diese Werte:
FEEDER_LAT=48.1234567
FEEDER_LONG=11.1234567
FEEDER_ALT_M=520
FEEDER_TZ=Europe/Berlin
FEEDER_NAME=meine-station
ADSB_SDR_SERIAL=1090
ADSB_SDR_PPM=
ULTRAFEEDER_UUID=
Die Zahlen sind Platzhalter – trag deine eigenen Werte ein. FEEDER_NAME wird später als MLAT-Name an die Netze übermittelt; wähle ihn so, dass du damit leben kannst, wenn er öffentlich auftaucht. Eine UUID erzeugst du mit:
cat /proc/sys/kernel/random/uuid
Wichtig für den Datenschutz: Die Anleitung warnt davor, dieselbe UUID bei allen Netzen zu verwenden, weil deine Station sonst über Dienste hinweg wiedererkennbar wäre. Erzeuge deshalb pro Netz eine eigene UUID und speichere sie unter sprechenden Namen wie ADSBFI_UUID oder ADSBLOL_UUID in der .env.
Seltenheit auf deiner Karte entdeckt?
Mit Planetrack legst du Sichtungs-Alarme für Kennzeichen, Typen, Airlines und Special Liveries an und erfährst, wenn sie bei Anflug oder Landung sind. Planetrack startet bald – trag dich in die Warteliste ein und sichere dir frühen Zugang.
Die docker-compose.yml mit Ultrafeeder
Jetzt kommt das Herzstück. Ein gekürztes Beispiel, angelehnt an den Guide der sdr-enthusiasts, mit zwei Community-Netzen:
services:
ultrafeeder:
image: ghcr.io/sdr-enthusiasts/docker-adsb-ultrafeeder
container_name: ultrafeeder
hostname: ultrafeeder
restart: unless-stopped
device_cgroup_rules:
- "c 189:* rwm"
ports:
- 8080:80
environment:
- LOGLEVEL=error
- TZ=${FEEDER_TZ}
- READSB_DEVICE_TYPE=rtlsdr
- READSB_RTLSDR_DEVICE=${ADSB_SDR_SERIAL}
- READSB_RTLSDR_PPM=${ADSB_SDR_PPM}
- READSB_GAIN=auto
- READSB_LAT=${FEEDER_LAT}
- READSB_LON=${FEEDER_LONG}
- READSB_ALT=${FEEDER_ALT_M}m
- UUID=${ULTRAFEEDER_UUID}
- MLAT_USER=${FEEDER_NAME}
- ULTRAFEEDER_CONFIG=
adsb,feed.adsb.fi,30004,beast_reduce_plus_out,uuid=${ADSBFI_UUID};
mlat,feed.adsb.fi,31090,uuid=${ADSBFI_UUID};
adsb,in.adsb.lol,30004,beast_reduce_plus_out,uuid=${ADSBLOL_UUID};
mlat,in.adsb.lol,31090,uuid=${ADSBLOL_UUID}
volumes:
- /opt/adsb/ultrafeeder/globe_history:/var/globe_history
- /opt/adsb/ultrafeeder/graphs1090:/var/lib/collectd
- /proc/diskstats:/proc/diskstats:ro
- /dev/bus/usb:/dev/bus/usb:rw
tmpfs:
- /run:exec,size=256M
Die Werte in ${...} liest Docker Compose automatisch aus der .env im selben Ordner. Der tmpfs-Eintrag legt flüchtige Daten in den Arbeitsspeicher und schont so die SD-Karte. Die Pfade unter volumes sorgen dafür, dass Kartenhistorie und Statistik einen Neustart des Containers überleben. Die vollständige, aktuelle Vorlage mit allen optionalen Variablen findest du im Guide und im GitHub-Repository des Projekts – übernimm im Zweifel deren Fassung.
So liest du ULTRAFEEDER_CONFIG
Jeder Eintrag beginnt mit einem Typ:
adsb,<host>,<port>,<protokoll>schickt deine ADS-B-Daten an einen Server oder holt Daten von einer Quelle. Für die meisten neueren Netze empfiehlt das Projekt das Protokollbeast_reduce_plus_out, ein verschlanktes Beast-Format.mlat,<host>,<port>startet eine eigene mlat-client-Instanz für diesen Server.mlathub,<host>,<port>,<protokoll>nimmt MLAT-Ergebnisse anderer Feeder entgegen und führt sie zusammen.
Optional hängst du uuid=... an. Fehlt sie, nutzt der Container die allgemeine Variable UUID. Einträge werden durch Semikolon getrennt, und innerhalb eines Eintrags dürfen weder zusätzliche Semikolons noch Kommas in Werten stehen.
| Netz | Daten (Host, Port) | MLAT (Host, Port) |
|---|---|---|
| adsb.fi | feed.adsb.fi, 30004 | feed.adsb.fi, 31090 |
| adsb.lol | in.adsb.lol, 30004 | in.adsb.lol, 31090 |
| airplanes.live | feed.airplanes.live, 30004 | feed.airplanes.live, 31090 |
| Planespotters | feed.planespotters.net, 30004 | mlat.planespotters.net, 31090 |
| ADS-B Exchange | feed1.adsbexchange.com, 30004 | feed.adsbexchange.com, 31090 |
Die Adressen stammen aus der README des Ultrafeeder-Projekts, Stand Oktober 2026. Dort stehen noch weitere, teils regionale Netze. Weil sich Hostnamen ändern können, gleiche sie vor dem Eintragen mit der aktuellen Liste ab. Welche dieser Karten was zeigt, vergleicht Ungefilterte Community-Tracker im Vergleich, Hintergründe zu ADS-B Exchange liefert ADS-B Exchange erklärt.
Starten und prüfen
Gestartet wird im Projektordner mit:
docker compose up -d
Nach ein, zwei Minuten öffnest du im Browser http://<ip-deines-rechners>:8080/. Dort erscheint die tar1090-Karte mit deinen Empfängen. Nützliche Zusätze sind /graphs1090/ für die Statistik sowie die Parameter ?pTracks für die Spuren der letzten 24 Stunden, ?heatmap für eine Heatmap und ?replay für die Wiedergabe. Was die Diagramme über deine Antenne verraten, erklärt Empfangsleistung messen mit graphs1090.
Kommerzielle Netze als eigene Container
FlightAware, Flightradar24 und andere kommerzielle Dienste verlangen ihre eigenen Feeder-Programme mit Schlüsseln. Auch dafür bieten die sdr-enthusiasts fertige Images. Das Muster ist immer gleich: Der Container bekommt BEASTHOST=ultrafeeder, holt sich darüber den Datenstrom aus der Zentrale und meldet sich mit deinem Schlüssel aus der .env beim Dienst an.
| Dienst | Image | Schlüssel-Variable | Lokale Oberfläche im Beispiel |
|---|---|---|---|
| FlightAware | ghcr.io/sdr-enthusiasts/docker-piaware | FEEDER_ID | Port 8081 (SkyAware) |
| Flightradar24 | ghcr.io/sdr-enthusiasts/docker-flightradar24 | FR24KEY | Port 8754 |
| AirNav Radar | ghcr.io/sdr-enthusiasts/docker-airnavradar | SHARING_KEY | – |
| Plane Finder | ghcr.io/sdr-enthusiasts/docker-planefinder | SHARECODE | Port 30053 |
Der Guide hat außerdem Anleitungen für OpenSky Network, ADSBHub, Plane.watch, RadarVirtuel und weitere Netze. Ein Beispiel für FlightAware sieht so aus:
piaware:
image: ghcr.io/sdr-enthusiasts/docker-piaware:latest
container_name: piaware
restart: unless-stopped
ports:
- 8081:8080
environment:
- BEASTHOST=ultrafeeder
- MLAT_RESULTS_BEASTHOST=ultrafeeder
- MLAT_RESULTS_BEASTPORT=31004
- TZ=${FEEDER_TZ}
- FEEDER_ID=${PIAWARE_FEEDER_ID}
tmpfs:
- /run:exec,size=64M
- /var/log
Die beiden MLAT_RESULTS-Zeilen spielen die von FlightAware berechneten MLAT-Positionen in den MLAT-Hub des Ultrafeeders zurück, sodass sie auch auf deiner lokalen Karte erscheinen.
Schlüssel übernehmen oder neu erzeugen
Hier liegt die wichtigste Stolperfalle beim Umzug: Wer schon feedet, übernimmt seine bisherigen Schlüssel. Sonst legt der Dienst eine neue Station an, und Statistik sowie die Feeder-Gegenleistungen hängen an der alten. Die Anleitungen nennen die Befehle für bestehende Installationen:
- FlightAware:
piaware-config -show feeder-idauf dem alten System. Neue Feeder lassen sich einmalig per temporärem Container registrieren und anschließend auf flightaware.com einem Konto zuordnen. Achte darauf, dass Position und Höhe bei FlightAware mit deiner.envübereinstimmen, sonst funktioniert MLAT nicht. Mehr zu FlightAware selbst steht in PiAware installieren und einrichten. - Flightradar24: Der Sharing Key steht in der alten
/etc/fr24feed.ini. Neue Feeder führen den Signup-Dialog in einem temporären Container aus. Hintergründe liefert fr24feed einrichten. - AirNav Radar:
rbfeeder --showkey --no-startoder ein Blick in/etc/rbfeeder.inizeigt den alten Schlüssel. Ohne Schlüssel erzeugt der Container beim ersten Start einen neuen und gibt ihn im Log aus. Mehr zum Dienst selbst steht in AirNav RadarBox nutzen. - Plane Finder: Den Share Code findest du im Konto auf planefinder.net unter deinen Empfängern. Einen Überblick über den Dienst gibt Plane Finder im Überblick.
Die alten Feeder auf dem Hostsystem schaltest du ab, bevor die Container übernehmen – sonst melden sich zwei Programme mit demselben Schlüssel. Welche Abos und Vorteile dir die Dienste fürs Feeden einräumen, vergleicht Was Feeder als Gegenleistung bekommen.
MLAT mit mehreren Netzen
Jede mlat-Zeile in ULTRAFEEDER_CONFIG startet einen eigenen mlat-client. Deine Station nimmt damit an der Multilateration jedes eingetragenen Netzes teil – und jedes Netz rechnet mit den Stationen, die dort mitmachen. Je mehr Netze du belieferst, desto größer ist die Chance, dass bei einem davon genug Nachbarn in Reichweite stehen. Gerade Militärmaschinen ohne eigene Positionsmeldung tauchen erst dann auf; wie das Verfahren arbeitet, steht in MLAT/Multilateration.
Die Voraussetzungen sind dieselben wie bei jeder anderen Installation: exakte Koordinaten, korrekte Antennenhöhe und ein stabiler Empfang. Der Vorteil von Docker: Diese Werte stehen nur einmal in der .env und gelten automatisch für alle Netze. Tippfehler in einzelnen Konfigurationsdateien, die MLAT bei einem Netz lahmlegen, bei einem anderen aber nicht, gibt es so nicht mehr.
Betrieb: Logs, Updates, Gesundheit
Im Alltag kommst du mit wenigen Befehlen aus, die du im Ordner /opt/adsb ausführst:
| Aufgabe | Befehl |
|---|---|
| Alle Logs live verfolgen | docker compose logs -f |
| Log eines Containers | docker logs -f ultrafeeder |
| Status und Gesundheit | docker ps |
| Änderungen an .env oder Compose übernehmen | docker compose up -d |
| Alle Images aktualisieren | docker compose pull, danach docker compose up -d |
Die Container der sdr-enthusiasts bringen Gesundheitsprüfungen mit. In der Spalte STATUS von docker ps steht dann healthy, unhealthy oder health: starting. Zeigt ein Container dauerhaft unhealthy, liefert dir dessen Log meist den Grund – häufig ein falscher Schlüssel, ein nicht gefundener Stick oder ein Tippfehler in ULTRAFEEDER_CONFIG.
| Symptom | Wahrscheinliche Ursache | Lösung |
|---|---|---|
| Karte leer, Log meldet kein Gerät | Falsche Seriennummer oder Stick von anderem Programm belegt | Seriennummer prüfen, alten Dekoder auf dem Host stoppen |
| Ein Netz bekommt keine Daten | Tippfehler oder fehlendes Semikolon in ULTRAFEEDER_CONFIG | Eintrag mit der Projektliste abgleichen, docker compose up -d |
| FlightAware-Container unhealthy | Feeder-ID fehlt oder Standort bei FlightAware weicht ab | ID in .env prüfen, Position im Konto angleichen |
| Doppelte Station bei einem Dienst | Neuer Schlüssel statt des alten verwendet | Alten Schlüssel in .env eintragen, Container neu erstellen |
Für Fortgeschrittene beschreibt der Guide außerdem automatische Updates, den automatischen Neustart ungesunder Container und Auswertungen mit Grafana. Für den Einstieg brauchst du davon nichts.
Für wen sich der Umstieg lohnt
Ultrafeeder passt, wenn …
- du drei oder mehr Netze gleichzeitig beliefern willst
- der Rechner noch andere Dienste trägt
- du alle Einstellungen an einem Ort haben möchtest
Abwägen, wenn …
- dein bestehender Pi mit Einzelskripten stabil läuft
- du Docker noch nie benutzt hast
- du nur gelegentlich am System arbeitest
Eher nicht, wenn …
- du nur ein einziges Netz fütterst
- du lieber ein fertiges Image per Weboberfläche bedienst
- der Rechner sehr knapp an Speicher ist
Für die Spotter-Praxis bringt ein gut gefütterter Empfänger einen ganz handfesten Vorteil: Deine Region ist auf mehreren Karten dichter abgedeckt, oft genau dort, wo du selbst spottest – etwa am Besucherhügel München mit Blick auf den Flughafen München oder am Spotterhügel Teveren, wo die AWACS-Flotte der NATO stationiert ist. Dazu kommen Tools, mit denen du später nachvollziehst, was wirklich vorbeigeflogen ist; wie das geht, zeigt Sichtungen mit ADS-B-Logs abgleichen. Ob Empfang und Weitergabe der Daten in deinem Land erlaubt sind, klärt ADS-B-Daten empfangen: die Rechtslage.
Ist dein Ultrafeeder-Setup komplett?
- Docker und Compose-Plugin sind installiert, der Stick hat die Seriennummer 1090.
- Koordinaten und Antennenhöhe stehen exakt in der .env.
- Jedes Netz hat eine eigene UUID.
- Die tar1090-Karte auf Port 8080 zeigt Flugzeuge.
- Alle Container melden in docker ps den Status healthy.
- Bestehende Schlüssel für FlightAware, Flightradar24 und Co. sind übernommen, alte Feeder auf dem Host gestoppt.
Aus Daten werden Sichtungen
Poste deine Sichtungen mit Foto, Kennzeichen und Flughafen in Planetrack, sammle sie im Hangar mit Wunschliste und tausch dich mit der Community aus. Planetrack startet bald – trag dich in die Warteliste ein und sichere dir frühen Zugang.
Fazit
Mit dem Ultrafeeder der sdr-enthusiasts wird aus einem gewachsenen Feeder-Sammelsurium ein aufgeräumtes System: ein Container für Dekoder, Karte, Statistik und alle Community-Netze, dazu je ein schlanker Container pro kommerziellem Dienst. Die meiste Sorgfalt verdienen wie immer die Stammdaten – Koordinaten, Höhe, Schlüssel und getrennte UUIDs. Steht die .env, ist jedes weitere Netz eine Sache von zwei Zeilen und einem docker compose up -d.
Kurzfazit
Docker installieren, Stick auf 1090 umbenennen, Stammdaten in die .env, Ultrafeeder mit allen Community-Netzen in ULTRAFEEDER_CONFIG starten und kommerzielle Dienste als Beistellcontainer mit BEASTHOST=ultrafeeder und den bisherigen Schlüsseln anhängen. Pro Netz eine eigene UUID schützt deine Privatsphäre.
Zusammenfassung
- Das Projekt sdr-enthusiasts stellt fertige Docker-Images für Empfang, Dekodierung und Weitergabe von ADS-B-Daten bereit, dokumentiert in einem frei zugänglichen Guide.
- Der Ultrafeeder-Container übernimmt SDR-Stick, Dekodierung, Kartenoberfläche, Statistik und alle Community-Feeds samt MLAT.
- Für kommerzielle Netze startest du je einen weiteren Container aus derselben Familie und trägst nur den jeweiligen Schlüssel ein.
- Updates, Logs und Neustarts laufen für alle Dienste über dieselben Docker-Compose-Befehle.
Häufige Fragen
Was ist der Ultrafeeder?
Ultrafeeder ist ein Docker-Container des Community-Projekts sdr-enthusiasts. Er kombiniert den Dekoder readsb, die Kartenoberfläche tar1090, die Statistik graphs1090, mlat-client für die Multilateration und einen MLAT-Hub, der berechnete Positionen aus mehreren Quellen zusammenführt. Damit ersetzt er die Einzelinstallation all dieser Programme auf dem Rechner.
Brauche ich für Ultrafeeder einen Raspberry Pi?
Nicht zwingend. Die Container laufen auf Debian-basierten Linux-Systemen wie Raspberry Pi OS, Ubuntu oder DietPi. Das kann ein Raspberry Pi sein, aber auch ein anderer Einplatinenrechner oder ein kleiner PC, der nebenbei weitere Dienste trägt. Wichtig ist ein USB-Anschluss für den SDR-Stick.
Wie trage ich ein weiteres Community-Netz ein?
Du ergänzt in der Variable ULTRAFEEDER_CONFIG zwei Zeilen: eine adsb-Zeile mit Host, Port und Protokoll, etwa adsb,feed.adsb.fi,30004,beast_reduce_plus_out;, und eine mlat-Zeile mit Host und Port, etwa mlat,feed.adsb.fi,31090;. Jede Zeile endet mit einem Semikolon. Danach übernimmt docker compose up -d die Änderung.
Wie binde ich FlightAware oder Flightradar24 an?
Über eigene Container der sdr-enthusiasts, etwa docker-piaware und docker-flightradar24. Beide erhalten die Variable BEASTHOST=ultrafeeder und deinen Schlüssel aus der .env-Datei: bei FlightAware die Feeder-ID, bei Flightradar24 den Sharing Key. Wer schon feedet, übernimmt die vorhandenen Werte, damit Statistik und Gegenleistungen erhalten bleiben.
Warum sollte ich pro Netz eine eigene UUID verwenden?
Die UUID identifiziert deine Station beim Netzbetreiber. Nutzt du überall dieselbe, ließe sich deine Station über mehrere Dienste hinweg wiedererkennen. Die Anleitung der sdr-enthusiasts empfiehlt deshalb für jedes Netz eine eigene UUID. Eine neue erzeugst du unter Linux mit cat /proc/sys/kernel/random/uuid.
Wo sehe ich, ob alles läuft?
Mit docker ps siehst du alle Container mit Gesundheitsstatus wie healthy oder unhealthy. Die Logs liest du mit docker compose logs -f für alle oder docker logs -f ultrafeeder für einen einzelnen Container. Die Karte erreichst du im Browser unter Port 8080, die Statistik unter dem Pfad /graphs1090/.
Kann ich Ultrafeeder neben einer bestehenden readsb-Installation betreiben?
Ein SDR-Stick kann nur von einem Programm gleichzeitig genutzt werden. Entweder übernimmt Ultrafeeder den Stick und du deaktivierst den alten Dekoder, oder du lässt READSB_DEVICE_TYPE leer und speist Ultrafeeder über eine beast_in-Verbindung aus dem vorhandenen Dekoder. Für einen sauberen Neuaufbau ist die erste Variante übersichtlicher.
Weiterlesen in ADS-B, MLAT & Empfänger
- ACARS-Nachrichten mit SDR empfangen: acarsdec und ACARS Hub
- 1090-MHz-Antenne selber bauen: Spider, Collinear und Groundplane
- Den besten Antennenstandort finden: Höhe, Sichtlinie, Kabel und Dämpfung
- ADS-B-Daten empfangen und teilen: Was ist in Deutschland, Österreich und der Schweiz erlaubt?
- ADS-B-Empfänger im Freien betreiben: Gehäuse, Kühlung, Blitzschutz und Strom
- ADS-B-Empfänger selber bauen: Raspberry Pi, Stick und Antenne
Flughäfen & Hersteller dazu
Flughäfen, Hersteller, Airline-Gruppen und Allianzen – wer dahintersteht und was du als Spotter wissen solltest.
Flughafen München
Zweitgrößter Flughafen Deutschlands und zweites Drehkreuz der Lufthansa: zwei parallele 4.000-Meter-Bahnen im Erdinger Moos, ein Terminal 2 nur für Lufthansa und Star Alliance – und mit dem Besucherpark einer der bequemsten Spotterplätze des Landes.
FlughafenFlughafen Frankfurt
Deutschlands größter Flughafen und Heimatdrehkreuz der Lufthansa: vier Start- und Landebahnen, zwei Passagierterminals und ein Verkehrsmix vom Regionaljet bis zum Großraumfrachter.
Passende Spotting-Spots
Konkrete Standpunkte mit Betriebsrichtung, Lichtzeiten, Koordinaten und einer ehrlichen Einschätzung, ob sich die Anreise lohnt.
Besucherhügel am Flughafen München
Der bekannteste Aussichtspunkt am Lufthansa-Drehkreuz München: Vom Besucherhügel im Besucherpark blickst du erhöht über das Flughafengelände – mit eigener S-Bahn-Haltestelle direkt nebenan.
SpotterhügelSpotterhügel Teveren am NATO-Flugplatz Geilenkirchen
Am NATO-Flugplatz Geilenkirchen, den man in der Region einfach Flugplatz Teveren nennt, startet die AWACS-Flotte der NATO. Von einem kleinen Hügel am Westende und vom Zaun auf der Teverener Seite fotografierst du die E-3A legal von öffentlichem Grund – wenn du die Regeln eines Militärflugplatzes kennst.
Das könnte dich auch interessieren
ADS-B Exchange und Community-Netze feeden: adsb.fi, adsb.lol, airplanes.live
Dein Empfänger läuft schon – jetzt sollen die Daten auch bei den ungefilterten Karten landen. So bindest du ADS-B Exchange, adsb.fi, adsb.lol und airplanes.live parallel an, richtest MLAT ein und prüfst, ob alles ankommt.
ADS-B, MLAT & Empfängerreadsb und tar1090 installieren: eigene lokale Live-Karte für den ADS-B-Empfänger
Aus Pi, SDR-Stick und Antenne wird deine eigene Live-Karte: So installierst du den Dekoder readsb und die Weboberfläche tar1090, stellst Gain und Standort ein, nutzt Filter, Spuren und URL-Parameter und behebst typische Fehler.
App-VergleicheADS-B-Feeder-Programme im Vergleich: fr24feed, PiAware, RBFeeder, pfclient und Co.
Jeder Flugradar-Dienst hat seine eigene Feeder-Software. Hier siehst du, wie fr24feed, PiAware, RBFeeder, der Plane Finder Client, die Skripte von ADS-B Exchange und Komplettlösungen wie adsb.im oder Ultrafeeder technisch ticken, was sie dir lokal bieten und welche Gegenleistung dahintersteht.



