Volver

Arquitectura general

Cómo se relacionan Traefik, cada panel y sus contenedores de aplicación.

Visión general

Los tres productos comparten el mismo patrón de infraestructura: un único Traefik en el servidor hace de puerta de entrada HTTPS y enruta cada subdominio hacia el contenedor correcto. Cada instancia de panel corre en su propia red Docker interna y nunca expone puertos directamente al host.

flowchart LR
    U[Usuario] -->|HTTPS| T[Traefik]
    T -->|panel-*.urrahosting.cl| WP[Web Hosting]
    T -->|cloud-*.urrahosting.cl| CL[Cloud]
    T -->|game-*.urrahosting.cl| GP[Game Hosting]
    T -->|docs.urrahosting.cl| DOCS[UrraHosting Docs]
    WP --> WPD[(MySQL / PostgreSQL opcional)]
    WP --> WPA[Contenedor de la app del usuario]
    CL --> CLD[(PostgreSQL)]
    GP --> GPR[Contenedor del servidor de juego]

Web Hosting: separación entre dashboard y orquestador

Web Hosting divide deliberadamente el panel (lo que ves y usas) del componente que realmente habla con Docker:

flowchart TB
    D[Dashboard Flask] -->|red interna 'control'| O[Orquestador]
    O -->|Docker API acotada| P1[docker-proxy-orchestrator]
    D -->|Docker API mínima<br/>solo start/stop/restart| P2[docker-proxy]
    O --> APP[Contenedor de la app]
    O --> DB[(Base de datos administrada)]
    P1 -.acceso Docker.-> APP
    P1 -.acceso Docker.-> DB
    P2 -.acceso Docker.-> APP

El dashboard nunca construye imágenes ni tiene acceso amplio al socket de Docker: solo puede iniciar, detener y reiniciar el contenedor de su propia instancia. Todo el build y el ciclo de vida completo pasa por el orquestador, que aplica siempre el mismo endurecimiento de seguridad (cap_drop: ALL, no-new-privileges, sin puertos publicados, límites de CPU/memoria) a cada contenedor que crea.

Dominios

Cada instancia usa subdominios predecibles bajo urrahosting.cl:

Producto Panel Aplicación / recurso
Web Hosting panel-<instancia>.urrahosting.cl <instancia>.urrahosting.cl (o un dominio propio, ver dominios personalizados)
Cloud cloud-<instancia>.urrahosting.cl mismo dominio, ruta /dav para WebDAV
Game Hosting panel-<instancia>.urrahosting.cl conexión directa al puerto del juego (no HTTP)
Docs docs.urrahosting.cl (este sitio)

Todo el tráfico va cifrado con TLS emitido automáticamente vía Let's Encrypt a través del certresolver configurado en Traefik.