Files
network-documentation/servidores/dockge
Consultoria AS 8bc5e8d6a5 docs(caddy): fix certificados nexusautoparts expirados (08 Sep 2026)
- Storage de Caddy corrupto: certificados desaparecidos + lock files huérfanos
- Token de Cloudflare sin permisos sobre la zona nexusautoparts.com.mx
- Solución: limpiar locks, token nuevo por zona, reinicio de Caddy
2026-09-08 23:25:17 +00:00
..

Dockge / Caddy — Reverse Proxy y SSL

Servidor dockge (192.168.10.74) que ejecuta Caddy en Docker como reverse proxy central para los servicios públicos de la red.

Estado: ✅ Caddy corriendo, certificados renovados.


1. Información General

Parámetro Valor
Hostname dockge
IP LAN 192.168.10.74
Servicio Caddy v2.11.2 (contenedor Docker)
Imagen caddy-cloudflare:latest
Configuración /etc/caddy/Caddyfile dentro del contenedor
Panel Dockge http://192.168.10.74:5001

Contenedores principales

Contenedor Función Puerto expuesto
caddy Reverse proxy + SSL automático 443/tcp, 80/tcp
jellyfin Media server 8096/tcp, 1900/udp, 7359/udp
jellyseerr Requests de Jellyfin 5055/tcp
bazarr Subtítulos 6767/tcp
sonarr Series 8989/tcp
radarr Películas 7878/tcp
qbittorrent Torrents 8080/tcp, 6881/tcp+udp
prowlarr Indexers 9696/tcp
dockge Gestor de stacks Docker 5001/tcp

2. Dominios Gestionados por Caddy

Dominios consultoria-as.com

Dominio Backend Estado
jellyfin.consultoria-as.com 127.0.0.1:8096 ✅
mediarequest.consultoria-as.com 127.0.0.1:5055 ✅
immich.consultoria-as.com 192.168.10.78:2283 ✅
odoo.consultoria-as.com 192.168.10.81:8069 ✅
n8n.consultoria-as.com 192.168.10.83:5678 ✅
metabase.consultoria-as.com 192.168.10.170:3000 ✅
hacienda.consultoria-as.com 192.168.10.167:5172 ✅
apihotel.consultoria-as.com 192.168.10.167:4000 ✅
api-hacienda.consultoria-as.com 192.168.10.167:4000 ✅
nexus.consultoria-as.com 192.168.10.91:5000 ✅
git.consultoria-as.com 192.168.10.69:3000 ✅
navidrome.consultoria-as.com 192.168.10.85:4533 ✅
foro.consultoria-as.com 192.168.30.73:4567 ✅
status.consultoria-as.com 192.168.10.87:3001 ✅
cronicas.consultoria-as.com 192.168.10.92:3000 ✅
pagoda.consultoria-as.com 192.168.10.92:3001 ✅
mesh.consultoria-as.com https://192.168.10.97:4443 ✅
recetas.consultoria-as.com 192.168.10.156:8080 ✅
afterlife.consultoria-as.com 192.168.10.84:3000 ✅
3d.consultoria-as.com 192.168.10.104:8000 ✅
play.consultoria-as.com 192.168.10.108:80 ⚠️ Backend caído
gym.consultoria-as.com 192.168.10.123:80 ⚠️ Backend caído
strada.consultoria-as.com 192.168.10.113:80 ✅

Dominios adicionales

Dominio Backend Estado
horuxfin.com, www.horuxfin.com 192.168.10.90:3000 ⚠️ No se puede renovar certificado (token solo cubre consultoria-as.com)
nexusautoparts.com.mx 192.168.10.91:80 ✅
*.nexusautoparts.com.mx 192.168.10.91:80 ✅
manager.nexusautoparts.com.mx 192.168.10.89:5003 ✅

3. Certificados SSL (Let's Encrypt vía Cloudflare DNS)

Caddy obtiene y renueva certificados automáticamente usando el DNS challenge de Cloudflare.

Token de Cloudflare

Ubicado en el encabezado del Caddyfile:

{
  acme_dns cloudflare <TOKEN>
}

El token debe tener permisos:

  • Zone:Read
  • DNS:Edit
  • Zona: consultoria-as.com

Nota: el token actual solo cubre consultoria-as.com. Para renovar horuxfin.com se necesita un token adicional con acceso a esa zona.

Renovación de certificados

Caddy renueva certificados automáticamente. Para forzar una renovación manual:

ssh root@192.168.10.74
docker restart caddy

O recargar configuración:

docker exec caddy caddy reload --config /etc/caddy/Caddyfile --force

Comandos útiles

# Ver logs de Caddy
ssh root@192.168.10.74 "docker logs caddy --tail 50"

# Ver certificados activos
ssh root@192.168.10.74 "docker exec caddy caddy list-modules --versions"

# Validar Caddyfile
ssh root@192.168.10.74 "docker exec caddy caddy validate --config /etc/caddy/Caddyfile"

# Verificar expiración de un dominio
echo | openssl s_client -servername strada.consultoria-as.com -connect strada.consultoria-as.com:443 2>/dev/null | openssl x509 -noout -enddate

3.5 Problema Resuelto: Certificados nexusautoparts expirados (08 Sep 2026)

Síntoma: todos los clientes de Nexus Autoparts veían "página no es segura" — nexusautoparts.com.mx y *.nexusautoparts.com.mx con certificado vencido (15 Ago 2026).

Causa raíz (combinada):

  1. El storage de certificados de Caddy se corrompió: los directorios /data/caddy/certificates/.../nexusautoparts.com.mx/ y wildcard_.nexusautoparts.com.mx/ desaparecieron, quedando solo lock files huérfanos en /data/caddy/caddy/locks/ que bloqueaban la re-emisión en bucle ("expected 1 zone, got 0" + "no such file or directory").
  2. El token de Cloudflare usado en esos bloques solo tenía acceso a la zona consultoria-as.com, por lo que el DNS-01 challenge para nexusautoparts.com.mx nunca podía funcionar.

Solución aplicada (08 Sep 2026):

  1. Eliminar los lock files huérfanos: rm /data/caddy/caddy/locks/issue_cert_*nexusautoparts*.lock (volumen /var/lib/docker/volumes/caddy_data/_data/caddy/locks/)
  2. Crear token de Cloudflare nuevo con Zone:Read + DNS:Edit sobre la zona nexusautoparts.com.mx y configurarlo en los 3 bloques nexusautoparts del Caddyfile (los de consultoria-as.com conservan el token original).
  3. docker restart caddy → certificados re-emitidos (certificate obtained successfully para wildcard y apex), vigentes hasta Dic 2026.

Lección: cada zona en Cloudflare necesita su propio token con permisos DNS en el Caddyfile. Zonas pendientes de token: horuxfin.com.


4. Problemas Resueltos (21 Jun 2026)

  • ✅ Token de Cloudflare inválido: se actualizó el token en el Caddyfile.
  • ✅ Certificados expirados: se reinició Caddy y se renovaron todos los certificados de consultoria-as.com y nexusautoparts.com.mx.
  • ✅ IP incorrecta de StradaAutopartes: se corrigió de 192.168.10.117 a 192.168.10.113.

Pendientes

  • Investigar servicios caídos detrás de play.consultoria-as.com (192.168.10.108) y gym.consultoria-as.com (192.168.10.123).
  • Generar token de Cloudflare para la zona horuxfin.com si se requiere HTTPS en ese dominio.

5. Backends Caídos Detectados

Dominio Backend Problema
play.consultoria-as.com 192.168.10.108:80 No responde (timeout)
gym.consultoria-as.com 192.168.10.123:80 No responde (timeout)

Estos servicios generan errores 502 en Caddy porque sus backends no están accesibles. Revisar si las VMs/contenedores están apagados o cambiaron de IP.


Documentación Caddy / Dockge - Consultoria Alcaraz Salazar
Actualizado: 21 de Junio de 2026