2.7 KiB
Deploy — lolero.cbcren.online
El sitio corre en un servidor estático (python3 -m http.server) en el puerto 8899,
protegido por un reverse proxy Caddy con TLS automático.
Internet → Caddy (80/443, TLS automático)
└─ lolero.cbcren.online → reverse_proxy 172.20.0.1:8899
└─ python3 -m http.server (systemd: lolero.service)
├─ index.html
└─ logos/ (68 archivos)
1. Servir los archivos (systemd)
# /etc/systemd/system/lolero.service
[Unit]
Description=1v9 Convertite en Leyenda - static site
After=network.target
[Service]
User=ren
WorkingDirectory=/home/ren/lolero
ExecStart=/usr/bin/python3 -m http.server 8899 --bind 0.0.0.0
Restart=always
RestartSec=3
[Install]
WantedBy=multi-user.target
sudo cp lolero.service /etc/systemd/system/lolero.service
sudo systemctl daemon-reload
sudo systemctl enable --now lolero
Nota:
http.serverlee los archivos del disco en cada request, así que no hace falta reiniciar el servicio cuando se actualizaindex.html. El cambio se sirve solo.
2. Caddy (reverse proxy)
El Caddyfile activo está en /home/ren/immich/Caddyfile (es un bind mount del contenedor
caddy-ingress, no /etc/caddy/Caddyfile). Se agregó:
lolero.cbcren.online {
reverse_proxy 172.20.0.1:8899
encode gzip
header {
X-Frame-Options SAMEORIGIN
X-Content-Type-Options nosniff
}
log {
output file /data/caddy/lolero.cbcren.online.log
}
}
Validar y recargar:
docker exec caddy-ingress caddy validate --config /etc/caddy/Caddyfile --adapter caddyfile
docker exec caddy-ingress caddy reload --config /etc/caddy/Caddyfile --adapter caddyfile
172.20.0.1es el gateway de la red dockercaddy(donde correcaddy-ingress). Cualquier proxy hacia el host usa esa IP.
3. DNS
Registro A: lolero.cbcren.online → 194.163.191.200 (ya creado). Caddy emite el certificado
Let's Encrypt automáticamente en el primer request.
4. Verificación
curl -sk -o /dev/null -w "%{http_code}\n" https://lolero.cbcren.online/ # 200
curl -sk -o /dev/null -w "%{http_code}\n" https://lolero.cbcren.online/logos/T1.png # 200
5. Actualizar contenido
Reemplazar /home/ren/lolero/index.html y/o /home/ren/lolero/logos/. No requiere restart.
6. Rollback
sudo systemctl stop lolero # baja el servicio
# el 503 de Caddy se devuelve mientras tanto; subirlo de nuevo con:
sudo systemctl start lolero
Notas de puertos
El puerto 8899 se eligió libre (verificado con ss -tln). No se tocan puertos en uso
(8080, 8090, 3000, 8000, etc.).