1.9 KiB
1.9 KiB
FR24 ingest compose skeleton
This directory contains the Docker Compose skeleton for the RTL-SDR ingest contour.
Services
postgres— PostgreSQL 16 + PostGIS, single source of truth for ingest and APIcapture— RTL-SDR access andraw_packetswriterpreprocess— normalization, flights/tracks/track_points builder, recoveryapi— reader for noisemap UI and future viewer endpointsmonitoring— separate container for healthchecks, disk/DB/capture status, alerts
Layout
../db/postgres— PostgreSQL data directory../db/init— bootstrap SQL for extensions and schema../ingest— capture and preprocess implementation../frontend— API/viewer implementation../logs/*— service logs../backup— pg_dump / restore artifacts
Architecture notes
raw_packetsstores binary payloads as base64 plus metadata: timestamp, frequency, RSSI, SNR, samplerate.- Raw retention is 3 days.
- Raw data is partitioned by date.
captureandpreprocessare separate containers.apiis included now so the ingest↔API contract is fixed early.- The contract between ingest and API is the PostgreSQL schema itself: ingest writes tables, API reads the same tables.
API / data contract
The API reads:
capturesraw_packetsaircraftflightstrack_pointstracksprocessing_statenoise_results
Planned endpoints:
GET /health— service statusGET /captures— capture sessionsGET /aircraft— aircraft list and searchGET /flights— flights with filtersGET /tracks/{track_id}— a single track with pointsGET /noise-results— noise polygons and summariesGET /dashboard/status— ingest / recovery / backlog status for UIGET /viewer/config— map/UI bootstrap metadata
Notes
- No runtime is started from this repository during preparation.
- The stack expects a
.envfile copied from.env.examplein this directory.