// the find
sdr-enthusiasts/docker-adsb-ultrafeeder
ADSB-Ultrafeeder is an all-in-one ADSB container with readsb, tar1090, graphs1090, autogain, multi-feeder, and mlat-hub built in
A Docker container that bundles readsb, tar1090, graphs1090, mlat-client, and an mlat-hub into a single deployable unit for ADS-B aircraft tracking. Targets hobbyists running RTL-SDR dongles on Raspberry Pi or x86 hardware who want to receive, display, and feed aircraft position data to aggregators like FlightAware, ADSBExchange, or adsb.lol. Actively maintained with multi-arch support (amd64, armv7, arm64).
- The ULTRAFEEDER_CONFIG single-env-var approach for configuring multiple ADSB feeds and MLAT clients is genuinely well-designed — one semicolon-delimited string replaces what would otherwise be a rats nest of individual variables per aggregator.
- Multi-arch image built for amd64/arm64/armv7 with hot-plug USB recovery via device_cgroup_rules instead of hardcoded device paths — this is the right way to handle SDR dongles in Docker.
- Built-in mlat-hub consolidates MLAT return data from multiple aggregators into a single feed, which avoids the duplicate position problem that plagues naive multi-feeder setups.
- Active CI with lint (hadolint, markdownlint), test builds, and Renovate for dependency updates — this isn't a set-it-and-forget-it abandoned hobby project.
- The container is a shell-script monolith under s6-overlay — all configuration logic lives in bash scripts that parse the ULTRAFEEDER_CONFIG string with string splitting. If your feed string contains edge-case characters or you misplace a comma, you get silent failures or confusing behavior with no schema validation.
- No health check defined in the Dockerfile or compose file by default, so Docker has no way to know if readsb has crashed internally while the container stays 'Up' — you need to wire up external monitoring yourself.
- Bundling readsb, tar1090, graphs1090, autogain, and mlat-hub into one image means you can't update any single component independently without rebuilding or waiting for a new image release; if wiedehopf pushes a tar1090 fix you care about, you're stuck until the maintainers cut a new build.
- Documentation is extensive but organized as one enormous README with 30+ sections — there's no quick-start that gets you from zero to working in under 10 commands without reading deeply; the .env file approach helps but the sheer volume of knobs makes initial setup intimidating.