Deployment — Visión general¶
qrsgen se distribuye como un binario y/o una imagen Docker. El despliegue de referencia es Docker Swarm + Postgres en la misma overlay LAN.
Navegación¶
- Imágenes — GHCR, build local, binario nativo.
- Stack Swarm — compose, despliegue, verificación.
- Variables de entorno — requeridas y opcionales.
- Telemetría pública — endpoint opt-in para landing pages con stats en vivo (con snippet Traefik).
- Hardening — read-only rootfs + tmpfs + update strategy.
- Schema migrations — qué tablas crea cada paquete en bootstrap.
- Portabilidad multi-VPS — copiar el stack a otro host.
- Backups — systemd timer, manual trigger, off-site.
- Firewall egress — install + verificación.
- Rollback — cómo volver a la versión anterior.
Glosario¶
Imagen Docker: paquete inmutable que incluye binario + librerías +
config mínima. qrsgen se distribuye como imagen (distroless).
GHCR: GitHub Container Registry. qrsgen publica imágenes
multi-arch firmadas tras cada tag v*.
Docker Swarm: orquestador nativo de Docker para clusters. qrsgen
usa docker stack deploy como referencia.
Stack: conjunto de servicios definidos en un docker-compose.yml
que Docker Swarm despliega como unidad.
Overlay network: red privada virtual entre nodos del Swarm. Los servicios se ven entre sí por nombre.
Schema migration: cambio a la estructura de las tablas en
Postgres. qrsgen lo hace idempotente con IF NOT EXISTS en boot.
Portabilidad: facilidad de mover el stack a otro host con
cambios mínimos. qrsgen lo soporta vía scp del compose + ajuste del
.env.
Rollback: volver a una versión anterior de la imagen. qrsgen lo
permite cambiando solo QRSGEN_VERSION en .env.