Gitea (VPS Contabo) — watchdog + monitor
Contexto
git.v-encore-lab.com→ 185.187.169.109 (VPS Contabo).- Contenedor
giteadefinido en/root/docker-compose.yml(proyectoroot, redroot_gitea_gitea). - Datos en el bind
/root/gitea/data(recrear el contenedor NO los toca). - Delante:
nginx-proxy-manager(Gitea escucha en el 3000 interno, sin puerto publicado).
Incidente 20-sep-2026 (502)
El contenedor gitea entró en bucle de reinicio (3595 reinicios) por una capa de
escritura corrupta: /app/gitea/gitea: Permission denied. La imagen y la DB estaban bien.
Se resolvió recreando el contenedor:
cd /root && docker compose up -d --force-recreate --no-deps gitea
Watchdog (recrea el contenedor si vuelve a pasar)
gitea_watchdog.sh comprueba cada 2 min:
- Estado del contenedor (
docker inspect). docker exec gitea wget -qO- http://127.0.0.1:3000/api/healthz.
Si falla 2 veces seguidas (MAX_FAILS=2), recrea el contenedor con
docker compose up -d --force-recreate --no-deps gitea.
- Log:
/var/log/gitea-watchdog.log(rota a 1 MB). - Estado:
/var/lib/gitea-watchdog/fails.
Instalación (en el VPS)
mkdir -p /opt/gitea-watchdog /var/lib/gitea-watchdog
cp gitea_watchdog.sh /opt/gitea-watchdog/ && chmod +x /opt/gitea-watchdog/gitea_watchdog.sh
cp gitea-watchdog.service gitea-watchdog.timer /etc/systemd/system/
systemctl daemon-reload
systemctl enable --now gitea-watchdog.timer
Comprobar:
systemctl list-timers gitea-watchdog.timer
tail -20 /var/log/gitea-watchdog.log
Monitor en Uptime-Kuma
Monitor existente Gitea - Repositorios (id 1): https://git.v-encore-lab.com, cada 60 s,
notificación ALERTA MONITORES (email SMTP). Se corrigió la URL (tenía un punto final:
https://git.v-encore-lab.com.).
Editar el monitor en la DB: parar
uptime-kuma,sqlite3 /root/uptime-kuma/kuma.db "UPDATE ...", y volver a arrancarlo (Uptime-Kuma lee la DB al iniciar).