Files
nix/hosts/hecuba/UPTIME_PLAN.md

2.2 KiB

Hecuba uptime server plan

Current State

  • Hecuba is a Hetzner cloud host running NixOS
  • Docker is enabled for user username
  • Firewall allows ports 80 and 443
  • No existing uptime monitoring

Goals

Monitor docker containers on hecuba with a self-hosted uptime dashboard

Uptime Monitoring Options

  • Easy to use web dashboard
  • Docker-based (fits existing setup)
  • HTTP/TCP/Ping monitoring
  • Status pages
  • Notifications (email, Telegram, etc.)

Implementation Plan

Phase 1: Evaluate & Choose

  • Research uptime monitoring solutions $id{11c06cf8-bea2-4858-9c7f-a293c3e8fba5}
  • Decide on solution (Uptime Kuma likely best fit) $id{f87debaa-312e-424e-80e0-b624f0768774}

Phase 2: Docker Setup

  • Add uptime monitoring container to hecuba $id{7d8c5bf4-3d49-4f4c-87f1-1f34c5a4dbec}
  • Configure persistent storage $id{9568b276-2885-4ae7-b5ca-5a9d7efb6a69}
  • Set up reverse proxy (ports 80/443 already open) $id{c2f6ea85-f5e3-465d-95ba-62738a97da80}
  • Configure SSL certificate $id{95c257e2-931b-44da-b0b1-a3e088956800}

Phase 3: Configuration

  • Add docker containers to monitor $id{4670deda-70d2-4c37-8121-2035aa7d57fb}
  • Set up alert thresholds $id{da6acf90-0b62-4451-bb11-4f74c5c5dd27}
  • Configure notifications (email/Telegram) $id{0b188adf-9a27-4499-9a19-b1ebd081bd21}
  • Test monitoring $id{dd0df63f-5da2-4ba0-a386-45162a2bb642}

Phase 4: Maintenance

  • Add to backup routine $id{33a2c381-94cb-460e-b600-67cb503826d7}
  • Document monitoring setup $id{f3bf7b85-737f-4511-8d3e-a270044abea3}
  • Review and adjust alerts $id{32e46c53-dd9d-48a8-aef2-985ebaadd8da}

Technical Details

Storage Location

/var/lib/uptime-kuma or similar persistent volume

Docker Compose Structure

services:
  uptime-kuma:
    image: louislam/uptime-kuma:1
    volumes:
      - /var/lib/uptime-kuma:/app/data
    ports:
      - 3001:3001
    restart: always

NixOS Integration

  • Consider using virtualisation.oci-containers for declarative setup
  • Or keep docker-compose file (more flexible for updates)

Next Steps

  1. Pick uptime monitoring solution
  2. Decide on deployment method (NixOS declarative vs docker-compose)
  3. Implement