🌊

TideWatch

Security-driven Docker container update manager

What is TideWatch?

TideWatch is a container update manager for homelabbers who got tired of Watchtower's "update everything, ask questions never" approach. It watches your containers for updates, but actually lets you decide what happens nextβ€”approve, reject, snooze, or let certain policies run automatically.

The real magic is the VulnForge integration. When an update is detected, TideWatch checks if the new image has more or fewer vulnerabilities than what you're running. Set a container to "security" policy and it'll only auto-update when the new version actually improves your security posture.

It reads your docker-compose files directly, tracks updates across Docker Hub, GHCR, and LinuxServer.io registries, and keeps a full history of what changed and when. No more guessing which container updated at 3am and broke everything.

Technology Stack

Backend

  • β†’ Python 3.12+ with FastAPI and Granian ASGI server
  • β†’ SQLAlchemy 2.x + SQLite (WAL mode) via aiosqlite
  • β†’ APScheduler for background jobs with retry logic
  • β†’ Multi-registry Docker clients (Docker Hub, GHCR, LSCR)
  • β†’ CSRF protection and rate limiting middleware
  • β†’ httpx async HTTP with ntfy notifications
  • β†’ Prometheus metrics endpoint

Frontend

  • β†’ React 19 + TypeScript 5.9 with Vite 7
  • β†’ Tailwind CSS 4 with teal/orange dark theme
  • β†’ React Router v7 navigation
  • β†’ Recharts for metrics visualization
  • β†’ Sonner toast notifications
  • β†’ date-fns formatting and Lucide icons

Project Statistics

~32,300
Total Lines of Code
~22,600
Python Backend
~9,700
TypeScript Frontend
5
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 enables the security policy enforcement that makes TideWatch unique: containers with a "security" policy will automatically reject updates that increase vulnerability counts, ensuring your security posture never degrades.