Infraestructura
Infraestructura
{{< include “compiled/infraestructura.md” >}}
Crear un nuevo proyecto
- Elegir slug y puerto libre (8101–8199).
- Crear carpeta + venv +
.env+run.py. - Instalar deps y definir
/health. - Crear unit systemd + vhost Caddy.
- Smoke tests local y público.
sudo mkdir -p /srv/projects/<slug> && cd /srv/projects/<slug>
python3 -m venv venv
echo PORT=<puerto> > .env
venv/bin/pip install fastapi uvicorn gunicorn flask python-dotenv
# (pegar run.py estándar de Deploy)
Mapa del sitio
- circulodesantiago.cl
- admin.circulodesantiago.clcirculodesantiago-admin:8113
- circulodesantiago.clcirculodesantiago-www:8112
- estarbien.circulodesantiago.clcirculodesantiago-estarbien:8114
- illanes00.cl
- admin.illanes00.clillanes00-admin:8102
- api.illanes00.clillanes00-api:8103
- blog.illanes00.clillanes00-blog:8104
- cv.illanes00.clillanes00-cv:8105
- discursos.illanes00.clillanes00-discursos:8106
- ep-seguridad.illanes00.clep-seguridad:8119
- ep.illanes00.clillanes00-ep:8107
- finance.illanes00.clillanes00-finance:8108
- illanes00.clillanes00-www:8101
- normandie.illanes00.clillanes00-normandie:8109
- politicos.illanes00.clillanes00-politicos:8110
- thesis.illanes00.clillanes00-thesis:8111
- lepp.cl
- lepp.cllepp-www:8118
- periodismo2.cl
- admin.periodismo2.clperiodismo2-admin:8116
- api.periodismo2.clperiodismo2-api:8117
- periodismo2.clperiodismo2-www:8115
Caddy v2
TLS via Cloudflare (DNS-01)
{
acme_dns cloudflare {
api_token {env.CLOUDFLARE_API_TOKEN}
}
}
(import "includes/*.caddy")
Vhost típico
sub.dominio.tld {
import tls_cf
encode zstd gzip
@health path /health
handle_path /health* { reverse_proxy 127.0.0.1:PORT }
reverse_proxy 127.0.0.1:PORT
}
Tips
- Validar:
sudo --preserve-env=CLOUDFLARE_API_TOKEN caddy validate --config /etc/caddy/Caddyfile - Logs:
journalctl -u caddy -n 100 --no-pager - No duplicar el mismo host en más de un archivo (ambiguous site definition).
Handover / Contexto
Arquitectura rápida
- Caddy v2 con
(tls_cf)y health por subdominio. - Servicios web en 8101–8199; infra ≥ 3000/9000/19999/9090.
- Monitor:
infra.illanes00.cl(dashboard + docs). - Fuente de verdad:
/etc/infra/sites.yaml.
Gotchas
- Validar Caddy con token Cloudflare en entorno preservado.
- Evitar hosts duplicados en múltiples archivos.
- Si
/404 pero/health200, crear índice mínimo o servir estático.