Skip to main content

Introducing Outpost: Container Updates That Roll Back

Jacky LiangJacky Liang

Keeping a home server's containers current is easy to automate and easy to regret. One bad image at 4 a.m. and a service you rely on is down until you notice.

Outpost is our answer: a self-hosted container updater that keeps your images current and undoes an update when it breaks.

Why We Built It

Watchtower has been the default answer for years, but it is no longer actively maintained and runs as root. Its recreate step can also bring anonymous volumes back empty and freeze an old image's environment defaults into the new container.

Worst of all, a failed update simply stays failed. We wanted an updater we could leave running on every host without checking on it the next morning.

What It Does

On a schedule you choose, Outpost checks each running container's registry for a newer image. When it finds one, it:

  • Recreates the container — With the same environment, ports, volumes, and networks, including anonymous volumes.
  • Waits for it to prove itself — The new container must turn healthy, or keep running for a few seconds if it has no healthcheck.
  • Rolls back if it doesn't — The previous container is restarted under its original name.

Up-to-date containers cost a single digest lookup, so nothing is downloaded unless there is something new.

Control Without Babysitting

  • Labels — Update everything except what you label off, or only what you label on.
  • Monitor-only — Hear about new images for your database without Outpost touching it.
  • Notifications — ntfy, Telegram, Discord, Slack, email, and six more services, and nothing at all when every container is current.
  • HTTP API and metrics — Trigger a run from CI and scrape Prometheus counters.

Try It

All it needs is the Docker socket and a volume for its data:

bash
docker run --detach \
  --name outpost \
  --restart unless-stopped \
  --volume /var/run/docker.sock:/var/run/docker.sock \
  --volume outpost-data:/data \
  cbnventures/outpost:latest

info

No release has been published yet, so until the first one ships, build the image from source instead of pulling it.

Head to the Quick Start for the Compose version. Coming from Watchtower, Migrating from Watchtower maps your settings and labels.