#!/usr/bin/env bash # # A family status page for your homelab with Uptime Kuma # https://www.zadran.net/guides/family-status-page-uptime-kuma # Generated from the guide, last updated 2026-10-13. # # NO WARRANTY. This script is provided as is. You are responsible for # understanding what it does before running it, and for the consequences. # Take a backup first. See https://www.zadran.net/disclaimer # # Destructive steps are left commented out on purpose -- uncomment them # only once you have understood what they do. # # Where the guide writes a file with <<'EOF' and your values are in it, # this script uses < /opt/uptime-kuma/compose.yaml <<'EOF' services: uptime-kuma: image: louislam/uptime-kuma:2 container_name: uptime-kuma restart: unless-stopped ports: - "80:3001" volumes: - ./data:/app/data EOF cd /opt/uptime-kuma && docker compose up -d sleep 20 docker ps --format '{{.Names}} {{.Status}}' echo "myhome-alerts-$(openssl rand -hex 6)" curl -H "Title: Homelab test" -d "Hello from my server" ntfy.sh/${NTFY_TOPIC} cat > /etc/cron.d/healthchecks-kuma <