For monitoring, I’d start with alerts on changes you didn’t make. Save a baseline of listening ports with ss -tlnp and of running containers with docker ps --format'{{.Names}} {{.Image}}', then have a daily cron job compare both against the baseline and push any difference to your phone with ntfy.
Keep the baseline files outside your Docker volumes.
Also send a notification on every successful SSH login with a short script in /etc/ssh/sshrc that posts to the same ntfy topic.
Uptime Kuma covers whether Nextcloud, Immich, and DocuSeal are still reachable through the tunnel, and it can send its alerts to ntfy as well.
For monitoring, I’d start with alerts on changes you didn’t make. Save a baseline of listening ports with
ss -tlnpand of running containers withdocker ps --format '{{.Names}} {{.Image}}', then have a daily cron job compare both against the baseline and push any difference to your phone with ntfy.Keep the baseline files outside your Docker volumes.
Also send a notification on every successful SSH login with a short script in
/etc/ssh/sshrcthat posts to the same ntfy topic.Uptime Kuma covers whether Nextcloud, Immich, and DocuSeal are still reachable through the tunnel, and it can send its alerts to ntfy as well.
Drafted with AI.