🌊

TideWatch

Security-driven Docker container update manager

What is TideWatch?

TideWatch is a smart, security-focused container update manager built for homelabs and production environments. Digest-aware registry monitoring pairs with VulnForge intelligence, so you always know when an image changed and whether it improves your security posture.

Built as a Watchtower replacement, TideWatch gives you full control over when and how containers update. Three simple policies—Auto, Monitor, and Off—let you decide per-container whether updates apply automatically, queue for review, or stay ignored entirely. Version scoping (patch/minor/major) controls how far updates can jump.

Before every update, TideWatch backs up container volumes and bind mounts using Docker-native temporary containers. If a health check fails after updating, it automatically rolls back both the image and the data. PostgreSQL databases get special treatment with pg_dumpall backups and version-checked restores.

It reads your docker-compose files directly, tracks updates across six registries (Docker Hub, GHCR, LinuxServer.io, GCR, Quay, and ECR), enriches every update with CVE intelligence, and keeps a full audit trail of what changed, when, and who triggered it.

Technology Stack

Backend

  • Python 3.13+ with FastAPI and Granian ASGI server
  • SQLAlchemy 2.x + SQLite (WAL mode) via aiosqlite
  • APScheduler orchestration with retry logic and dependency ordering
  • Six registry clients (Docker Hub, GHCR, LSCR, GCR, Quay, ECR) with digest tracking
  • VulnForge security enrichment with CVE delta comparisons
  • Docker-native data backup service with staged restore and PostgreSQL support
  • Multi-service notifications (ntfy, Gotify, Pushover, Slack, Discord, Telegram, Email)
  • Encrypted config snapshots, OIDC auth (Authentik), webhooks, and SSE real-time events

Frontend

  • React 19 + TypeScript 5.9 with Vite 7
  • Tailwind CSS v4 with responsive teal/orange theme
  • React Router v7 with guarded routes
  • Recharts for metrics and timeline visualization
  • Sonner toast notifications with actionable alerts
  • Vitest + Playwright for unit, integration, and E2E testing

Project Statistics

~88,500
Total Lines of Code
~68,600
Python Backend
~19,800
TypeScript Frontend
12
Interactive Pages

Powered by VulnForge

TideWatch integrates seamlessly with VulnForge to provide vulnerability intelligence for every update decision. When an update is detected, TideWatch queries VulnForge to compare vulnerability counts, identify CVEs fixed or introduced, and generate security recommendations.

This integration enriches the update workflow with actionable security data. CVE deltas, risk scores, and critical/high fix counts appear directly in update cards, giving you the context to make informed decisions—or let Auto policy handle them with confidence.