Uptime Kuma
Monitorización de disponibilidad de servicios (HTTP, ping, DNS, push).
Resumen
Uptime Kuma corre en k3s y sustituye al Uptime Kuma legacy de lebron, parado
el 2026-10-29 por falta de recursos (ADR 0005).
Migró los 69 monitores existentes desde kuma.db (54 activos hoy). El acceso
está protegido por SSO de Authentik (grupo admins); el propio login de Kuma
está desactivado.
Estado
| Campo |
Valor |
| Estado |
Operativo |
| Argo CD Application |
uptime-kuma |
| Namespace |
uptime-kuma |
Despliegue
| Campo |
Valor |
| Método |
Manifests nativos |
| Chart / imagen |
louislam/uptime-kuma:2.5.8 |
| Origen |
clusters/luka/config/uptime-kuma/ |
| Config en el repo |
clusters/luka/apps/uptime-kuma/ y clusters/luka/config/uptime-kuma/ |
Red
| Campo |
Valor |
| Service |
uptime-kuma (ClusterIP) |
| IP |
— |
| Puertos |
80 → 3001 |
| URL interna |
https://uptime.local.gorkarevilla.com |
| URL externa |
https://uptime.gorkarevilla.com (túnel cloudflared homelab) |
| TLS |
interno: cert-manager wildcard *.local.gorkarevilla.com; externo: Cloudflare edge |
Acceso y usuarios
- Usuarios/roles: SSO de Authentik, grupo
admins. El login propio de Kuma
está desactivado. Hay dos providers proxy (uptime-kuma externo y
uptime-kuma-internal): en forward_single el outpost selecciona el provider
por host y la cookie es host-only, así que cada hostname tiene su sesión.
- Break-glass:
kubectl -n uptime-kuma port-forward deploy/uptime-kuma 3001:3001.
La ruta interna no es un acceso de emergencia independiente: el login se
sirve desde https://auth.gorkarevilla.com, por lo que si cae Internet/el
túnel sigue haciendo falta el port-forward.
- Credenciales: las de administración de Kuma viven solo en
kuma.db; la
API key de métricas está en el Secret uptime-kuma-metrics (ns monitoring),
creado a mano porque VKS aún no sincroniza Secure Notes. Pendiente moverlo a
Vaultwarden. Nunca el secreto en claro aquí.
Configuración
- 1 réplica con
strategy: Recreate (SQLite en PVC, no admite escritura concurrente).
TZ=Europe/Madrid.
Settings → Reverse Proxy → Trust Proxy: Yes.
- Providers proxy de Authentik en modo
forward_single (externo e interno);
rutas /outpost.goauthentik.io en ambos hostnames. Paths sin autenticar:
status pages, badges, push monitors y assets.
- Los monitores de tipo Docker del legacy no funcionan (no hay
docker.sock en k3s): los 7 Docker quedaron pausados tras la migración.
Los monitores de Frigate están pendientes de reactivar tras su migración
(2026-10-30).
- El monitor
Influxdb (https://influxdb.gorkarevilla.com) se eliminó el
2026-10-31 al retirar el servicio
(ADR 0007). Se
borró de kuma.db con la app parada; queda copia previa en
/app/data/kuma.db.bak-2026-10-31.
- Los monitores
Kavita (id 22) y Audiobookshelf (id 24) se
eliminaron el 2026-10-31 al retirar el stack books
(legacy). Se borraron de kuma.db con la app parada
(cascade de heartbeats/notificaciones/tags); copia previa en
/app/data/kuma.db.bak-2026-10-31-books.
- El monitor
Open Webui (AI) (id 56) se eliminó el 2026-10-31 al retirar
Open WebUI (legacy); misma operación y copia previa
en /app/data/kuma.db.bak-2026-10-31-books.
- Los monitores
Shlink WebClient (id 26), Shlink Backend (id 27) y
Grocy (id 48) se eliminaron el 2026-10-31 al retirar el stack utils
(legacy); copia previa en
/app/data/kuma.db.bak-2026-10-31-utils.
Almacenamiento
- PVC
uptime-kuma-data, 2Gi, ReadWriteOnce, storageClassName: longhorn,
protegido del prune de Argo (Prune=false,Delete=false). Contiene
/app/data/kuma.db (monitores, histórico, notificaciones y usuarios).
Dependencias
- Depende de: k3s, Longhorn, Traefik, cert-manager, Authentik, cloudflared.
- Usado por: Homepage (enlace directo).
Backup y recuperación
- Sin backup automático todavía. La copia original de
kuma.db se conserva en
lebron; pendiente incluirlo en la estrategia 3-2-1.
Monitorización
- Prometheus:
ServiceMonitor uptime-kuma en
clusters/luka/config/servicemonitors/uptime-kuma.yaml, endpoint
http://uptime-kuma.uptime-kuma.svc.cluster.local/metrics (HTTP Basic con la
API key de Kuma), intervalo 30s.
- Métricas:
monitor_status, monitor_response_time. Sin dashboard ni alertas
propios por ahora.
Referencias
Notas / TODO
- Sustituir los monitores Docker por alertas de Prometheus/kube-state-metrics.
- Backup del PVC y de
kuma.db.
- Dashboard de Grafana y alertas de disponibilidad.
- Drift conocido: el Secret
uptime-kuma-metrics (ns monitoring) se creó a
mano porque VKS no sincroniza los Secure Notes
(incidente). Moverlo a
Vaultwarden cuando se resuelva.