Home Lab Series Part 10: Monitoring & Maintenance (The Finale)

By The Maker Team December 07, 2025
Home Lab Series Part 10: Monitoring & Maintenance (The Finale)
In the Series Finale:
  • The Philosophy: Cattle vs. Pets (Managing servers).
  • Tool 1 (Uptime Kuma): Beautiful dashboards to track downtime.
  • Tool 2 (Watchtower): Automatically updating your containers.
  • The Retrospective: A review of everything we built.
  • What's Next: Where to go from here.

Congratulations. If you have followed this series from Part 1, you have graduated from "Computer User" to "System Administrator." You now run a server that rivals small businesses in complexity and capability.

But a server is like a garden; if you ignore it, weeds grow. In this final chapter, we will install two tools that act as your digital gardener, keeping things green and updated automatically.

Join the SysAdmin Club

Do you get a dopamine hit when you see "100% Uptime"? You might be a natural SysAdmin. Search for the "DevOps" or "Self-Hosted" interest tags on Great Meets to find others who appreciate a perfectly maintained dashboard.


Tool 1: Uptime Kuma (The Monitor)

How do you know if your Jellyfin server crashed? Currently, you only find out when you try to watch a movie and it fails. Uptime Kuma fixes this. It pings your services every 60 seconds and sends you a notification (via Email, Discord, or Telegram) if something goes down.

The Installation

In Portainer, add a new stack called uptime-kuma:

services:
  uptime-kuma:
    image: louislam/uptime-kuma:1
    container_name: uptime-kuma
    volumes:
      - ./uptime-kuma-data:/app/data
    ports:
      - 3001:3001
    restart: unless-stopped

Go to http://[YOUR-IP]:3001 to set it up. Click "Add New Monitor," type in the IP address of your Pi-hole or Home Assistant, and hit Save. You now have a professional status page.


Tool 2: Watchtower (The Updater)

Docker containers don't update themselves. If a security flaw is found in Linux, your containers stay vulnerable until you manually pull the new image. Watchtower automates this.

It wakes up once a day, checks if a new version of your app exists, downloads it, and restarts the container for you.

The Installation

services:
  watchtower:
    image: containrrr/watchtower
    container_name: watchtower
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
    environment:
      - WATCHTOWER_CLEANUP=true # Removes old images to save space
      - WATCHTOWER_SCHEDULE=0 0 4 * * * # Runs at 4:00 AM daily
    restart: unless-stopped
A Warning on Auto-Updates

Sometimes, an update breaks things (especially with Home Assistant). If you wake up and your smart lights don't work, it's because Watchtower updated something that had a breaking change. If you need help debugging a broken update, search for a "Docker Expert" on Great Meets and message them for help.


Series Retrospective: Look What You Built

Take a moment to appreciate your setup. In just 10 articles, you have:

Infrastructure
  • Proxmox: Enterprise Virtualization.
  • Docker: Containerized Applications.
  • Tailscale: Secure Remote Access.
  • Backups: 3-2-1 Automated Protection.
Applications
  • Pi-hole: Network-wide Ad Blocking.
  • Jellyfin: Private Netflix.
  • Home Assistant: Smart Home Logic.
  • Zigbee2MQTT: Local Device Control.

What's Next?

The Home Lab journey never really ends; it just evolves. Here are a few rabbit holes you can jump down next:

  1. Voice Control: Replace Alexa with "Assist" (Home Assistant's local voice AI).
  2. Cameras: Set up Frigate NVR with AI person detection (See our Frigate guide!).
  3. Networking: Replace your ISP router with OPNsense or UniFi.

Don't Lab in a Vacuum

You have completed the guide, but the real learning happens when you talk to others. Great Meets is the best way to find people in your city who speak "Linux." Search for the "Home Lab" tag, find a user near you, and message them to ask: "What are you hosting right now?"