GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — GitHub - Will-Luck/Docker-Sentinel: Docker-Sentinel: container update orchestration with manual approval queues

BranchesTags
Open more actions menu

Latest commit

 

History

819 Commits
819 Commits

Folders and files

NameName
Last commit message
Last commit date
.gitea/workflows
.gitea/workflows
 
 
.github
.github
 
 
cmd/sentinel
cmd/sentinel
 
 
docs
docs
 
 
internal
internal
 
 
.gitignore
.gitignore
 
 
.golangci.yml
.golangci.yml
 
 
CHANGELOG.md
CHANGELOG.md
 
 
CODE_OF_CONDUCT.md
CODE_OF_CONDUCT.md
 
 
CONTRIBUTING.md
CONTRIBUTING.md
 
 
Dockerfile
Dockerfile
 
 
LICENSE
LICENSE
 
 
Makefile
Makefile
 
 
README.md
README.md
 
 
SECURITY.md
SECURITY.md
 
 
go.mod
go.mod
 
 
go.sum
go.sum
 
 

Repository files navigation

Docker-Sentinel

CI Release License Go Go Report Card GHCR GitHub Downloads GHCR Pulls Docker Pulls

A container update orchestrator with a web dashboard, written in Go. Replaces Watchtower with per-container update policies, pre-update snapshots, automatic rollback, and real-time notifications.

Dashboard

Features

  • Per-container update policies via Docker labels: auto, manual, or pinned
  • Pre-update snapshots with automatic rollback if a container fails health checks after updating
  • Registry checks with digest comparison for mutable tags and semver tag discovery with constraint pinning
  • Web dashboard with SSE live updates, stack grouping, container controls, and mobile-responsive layout
  • Cluster mode for monitoring and updating containers across multiple Docker hosts from a single dashboard
  • 11 notification providers including Gotify, Slack, Discord, Ntfy, Telegram, Pushover, Email, MQTT, Apprise, and webhooks
  • Authentication with password, WebAuthn/passkeys, OIDC/SSO, and TOTP/2FA support
  • Maintenance windows with time-range expressions and per-container cron schedules
  • Lifecycle hooks with Docker-Guardian integration for coordinated maintenance labels
  • Prometheus metrics endpoint with an official Grafana dashboard template
  • Update queue for reviewing, approving, or rejecting pending updates with inline release notes
  • Configuration export/import for full settings backup and restore via the web UI

Quick Start

Requires Docker Engine 25.0 or later (API 1.44).

docker run -d \
  --name docker-sentinel \
  --restart unless-stopped \
  -v /var/run/docker.sock:/var/run/docker.sock:ro \
  -v sentinel-data:/data \
  -p 8080:8080 \
  -e SENTINEL_POLL_INTERVAL=6h \
  willluck/docker-sentinel:latest

# Or from GitHub Container Registry:
# ghcr.io/will-luck/docker-sentinel:latest

Open http://localhost:8080 in your browser. On first visit you will be guided through the setup wizard to create an admin account.

Container Labels

Set per-container update behaviour with Docker labels like sentinel.policy, sentinel.semver-constraint, sentinel.cron, and others. See the Docker Labels wiki page for the full reference.

Update Lifecycle
  1. Scan containers and check policies
  2. Check registries for new digests or semver tags
  3. Queue updates (auto-policy proceeds immediately, manual-policy waits for approval)
  4. Snapshot the full container config, then pull the new image before stopping anything
  5. Update the container: stop, remove, recreate with identical config, start
  6. Validate after the grace period, and rollback from the snapshot if the container is unhealthy

Screenshots

Dashboard Manage Mode
Container Detail Queue
Cluster Connectors
Images Settings

Documentation

Full documentation is available in the Wiki, covering:

  • Installation Guide
  • Configuration Reference
  • Docker Labels
  • Web UI Guide
  • REST API Reference
  • Authentication & Security
  • Notifications
  • Cluster Mode
  • Lifecycle Hooks
  • Troubleshooting

Building from Source

make build      # Build binary to bin/sentinel
make frontend   # Build JS/CSS bundles (esbuild)
make docker     # Build Docker image

Requires Go 1.26+, Node.js, and Docker.

Licence

Apache Licence 2.0. See LICENSE for details.

About

Docker-Sentinel: container update orchestration with manual approval queues

github.com/Will-Luck/Docker-Sentinel/wiki

Topics

containersdevopsdockerdocker-updatesgohomelabself-hostedwatchtower-alternative

Resources

Readme
Apache-2.0 license

Code of conduct

Code of conduct

Contributing

Contributing

Security policy

Security policy
Activity

Stars

22 stars

Watchers

1 watching

Forks

2 forks
Report repository

Releases

Packages

Used by

Contributors

Languages

You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.