Patrol

Modern Docker management, auto-updates included.

A lightweight, self-hosted platform for managing and auto-updating Docker containers.

How it works

Pull, run, manage

From zero to managing every container on your host in 30 seconds.

1

Pull the image

A single ~15 MB image with the Go backend and embedded React UI. No external dependencies.

2

Open the dashboard

Browse to localhost:8080 and see every container, image, network, and volume on the host.

3

Set update policies

Per-container semver rules: patch, minor, major, or none. Auto-update with rollback on health check failure.

Everything Watchtower does, and a lot more

Auto-updates with rollback, real-time monitoring, and a real UI.

01

Auto-Update Engine

Scan, preview, and update containers with automatic rollback on health check failure.

02

Web Dashboard

React UI with dark and light themes, fully responsive, and PWA-installable.

03

Real-time Monitoring

CPU, memory, and network I/O tracking with live sparkline charts.

04

Container Management

Start, stop, restart, pause, and remove containers from the browser.

05

Compose & Volumes

Manage Compose stacks, volumes, and networks with stack-level actions.

06

Watchtower Compatible

Drop-in replacement that recognizes existing Watchtower labels.

Install

Install in 30 seconds

One command, one image. Mount the Docker socket and you're managing everything.

terminal
$ docker run -d --name patrol \
    -p 8080:8080 \
    -v /var/run/docker.sock:/var/run/docker.sock \
    ghcr.io/isaiasgv/patrol:latest

How Patrol compares

Feature Patrol Watchtower Portainer
Modern web UI✓—✓
Auto-updates✓✓—
Rollback on failure✓——
Real-time CPU/RAM✓—✓
Image size~15 MB~25 MB~270 MB
Watchtower labels✓✓—

Who it's for

DevOps engineers, self-hosted enthusiasts, and Docker operators who want centralized container management on their own infrastructure.

FAQ

Frequently asked

Practical answers for self-hosting and homelab operators.

Yes. Patrol recognizes existing Watchtower labels.
Around 30 MB of RAM at idle.
Yes — that's how container management works.
If health check fails, the previous image is restored.

Run a single container, manage them all

Patrol ships as a single Docker image. Pull it and you're done.

View on GitHub