← All updates

Stack consolidation: 4 containers, done

go2rtc is now embedded in the recorder, db-backup folded into the api, mosquitto profile-gated. The default stack is postgres + api + recorder + autoheal. Simpler to run, fewer things to break.

BackendDevOps architecturedeploy

The default Compose stack is down to four containers: postgres, api, recorder, autoheal. go2rtc no longer runs as its own service; it's embedded in the recorder container and supervised by the recorder process, so the restreamer can't drift out of sync with the thing that depends on it. The nightly database backup job folded into the api (it already had the DB connection and the schedule plumbing). mosquitto is profile-gated, so you only run a broker if you actually use one.

Fewer containers means fewer things to health-check, fewer logs to correlate, and a shorter path from docker compose up -d to recording. The optional pieces (TLS via Caddy, the LPR worker, mosquitto) stay behind profiles where they belong.

Don't miss the next one.

Watch the repo on GitHub for releases, or grab the RSS.

Get it on GitHub