Sign inSign up

garage1118/lookout

By garage1118

•Updated about 2 months ago

Watchtower re-implemented in Python — auto-updates containers on new image digests

Image
Integration & delivery
0

1.2K

garage1118/lookout repository overview

⁠lookout

Automatic Docker container updates — a Python reimplementation of Watchtower⁠'s core update loop.

lookout polls your running containers, compares each one's image against the registry's latest digest for the same tag, and recreates any container that's stale — preserving its runtime configuration (mounts, networks, environment, restart policy, healthcheck, resource limits, and more) exactly as it was.

⁠Quick start

docker run -d \
  --name lookout \
  -v /var/run/docker.sock:/var/run/docker.sock \
  garage1118/lookout:latest

Or with Compose:

services:
  lookout:
    image: garage1118/lookout:latest
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock

By default lookout monitors every running container and polls every 5 minutes. Configuration is via LOOKOUT_* environment variables or CLI flags — see the full docs linked below.

⁠Features

  • Digest-based staleness checks against Docker Hub, GHCR, and other registry v2-compatible registries, including private ones (reads ~/.docker/config.json)
  • Full config carryover on recreate: mounts, networks (including static IPs/MACs and SELinux relabeling), restart policy, healthchecks, resource limits, ulimits/sysctls/devices/dns, security options, and more
  • Dependency-ordered updates for linked containers and containers sharing a network namespace (--net=container:X)
  • Container selection via --include/--exclude names or labels, plus monitor-only and no-pull modes
  • --scope to split one Docker daemon's containers across several independent lookout instances — e.g. a fast-polling instance for a registry under active development alongside a default-interval instance for everything else
  • Lifecycle hooks — run commands inside a container before/after its update
  • Notifications via Apprise (Telegram, Slack, Discord, generic webhooks, and more)
  • --run-once for a single check-and-update pass instead of running as a daemon

⁠Documentation

Full docs, including every CLI flag/env var, container selection, private registries, notifications, and known limitations: https://garage1118.github.io/lookout/⁠

Source: https://github.com/garage1118/lookout⁠

Tag summary

Content type

Image

Digest

sha256:582820d4e…

Size

23.4 MB

Last updated

2 months ago

docker pull garage1118/lookout