Despliegue y dominios
Cómo funciona el ciclo build -> chequeo de salud -> corte de tráfico, y cómo usar un dominio propio.
El ciclo de un despliegue
sequenceDiagram
participant Tu as Tú (panel)
participant D as Dashboard
participant O as Orquestador
participant T as Traefik
Tu->>D: Disparar despliegue
D->>O: Solicitar build + activación
O->>O: Construir imagen desde tu Dockerfile
O->>O: Levantar contenedor candidato (sin tráfico)
O->>O: Esperar chequeo de salud
alt Salud OK
O->>T: Conectar candidato a la red pública
T-->>Tu: Nueva versión recibiendo tráfico
else Salud falla
O-->>D: Reportar fallo, versión anterior sigue activa
end
Esto significa que un despliegue que falla nunca tumba la versión que ya está funcionando: el contenedor nuevo solo se conecta a Traefik después de pasar su chequeo de salud.
Subdominio automático
Por defecto tu aplicación queda disponible en:
https://<tu-instancia>.urrahosting.cl
Dominio propio
Si tu instancia tiene asignado un dominio personalizado
(APP_CUSTOM_DOMAIN, lo configura el operador desde el panel de
administración de UrraHosting), Traefik enruta ese dominio hacia tu
aplicación en lugar del subdominio automático. El cambio aplica en el
siguiente despliegue: no necesitas hacer nada más en tu código.
Requisitos de tu Dockerfile
- Debe exponer tu aplicación en el puerto indicado por
APP_PORT(te llega como variable de entorno, no lo fijes tú mismo en el código). - El contenedor final corre con
read_only: trueycap_drop: ALL: si tu aplicación necesita escribir archivos, hazlo dentro del volumen de datos persistente de la instancia o en/tmp(tmpfs limitado). - No se aceptan archivos Compose en el repositorio o el paquete subido.
Bases de datos administradas
Si tu app necesita una base de datos, no declares una tú mismo: se aprovisiona desde el panel. Ver Conectar una base de datos.