Apunta tu dominio al VPS, añádelo a tu aplicación en Dokploy con el puerto del contenedor y deja que Traefik pida y renueve el certificado Let's Encrypt.
Una aplicación desplegada en Dokploy no se ve desde fuera hasta que le das un dominio. Dokploy usa Traefik como proxy: recibe las peticiones en los puertos 80 y 443, las reparte por nombre de dominio y pide los certificados a Let's Encrypt por ti.
Antes de empezar
- Para quién es este manual. Para cualquier modalidad de VPS: desplegar tu aplicación, sus repositorios y su configuración es cosa tuya o de tu desarrollador tanto en un VPS autogestionado como en uno administrado o administrado y gestionado. Lo que cambia es quién mantiene el servidor y la plataforma por debajo: en autogestionado, tú; en administrado, nosotros el sistema; en administrado y gestionado, también la plataforma dentro del alcance acordado (¿Cúal es la diferencia entre un VPS administrado y un VPS no administrado?).
- La aplicación desplegada y con el despliegue en Done (Cómo desplegar tu primera aplicación en Dokploy).
- Un dominio o subdominio tuyo apuntando a la IP del VPS con un registro A (Cómo crear un registro DNS (A, CNAME, MX o TXT)). Hazlo antes de seguir: Let's Encrypt comprueba el dominio desde Internet y, si no resuelve a tu servidor, no emite el certificado.
- El puerto interno en el que escucha tu aplicación dentro del contenedor. En el ejemplo Go es el 8080; en una app Node.js suele ser el 3000; en nginx, el 80.
Paso a paso
- Comprueba desde tu ordenador que el dominio ya apunta al VPS:
dig +short app.tudominio.es
Tiene que devolver la IP de tu servidor. Si devuelve otra cosa o nada, espera a que el DNS se propague antes de continuar.
-
En Dokploy, abre la aplicación y entra en la pestaña Domains. Pulsa Add Domain.
-
Rellena el diálogo:
- Host: tu dominio,
app.tudominio.es. - Path: déjalo en
/salvo que quieras servir la aplicación en una subcarpeta. - Container Port: el puerto interno de tu aplicación,
8080en el ejemplo. Es el error más habitual: si lo dejas mal, Traefik responde con un error 502 aunque la aplicación funcione. - HTTPS: actívalo, y en Certificate Provider elige Let's Encrypt.
-
Pulsa Create. El dominio aparece en la lista con su puerto y el proveedor de certificado. Traefik carga la configuración al momento; no hace falta volver a desplegar.
-
Abre
https://app.tudominio.es. La primera vez puede tardar hasta un minuto: es lo que tarda Let's Encrypt en comprobar el dominio y emitir el certificado. Traefik lo renueva solo antes de que caduque.
Cómo comprobar que ha funcionado
La aplicación carga con el candado del navegador, y http://app.tudominio.es redirige a https://. Desde una terminal:
curl -I https://app.tudominio.es
Devuelve HTTP/2 200 y ninguna queja sobre el certificado.
Dominios de prueba
Si aún no tienes dominio, Dokploy acepta nombres del servicio público sslip.io, del tipo app.203-0-113-10.sslip.io (tu IP con guiones), que resuelven a esa IP sin configurar nada. Sirven para probar, pero el propio panel avisa de que con ellos no hay HTTPS: para publicar de verdad, usa tu dominio.
Si algo falla
- Error 502 o «Bad Gateway»: el Container Port no es el puerto en el que escucha tu aplicación. Corrígelo en el dominio (icono de editar) y vuelve a probar.
- «404 page not found» de Traefik: el dominio no coincide exactamente con el Host configurado (revisa
wwwy mayúsculas), o el registro DNS apunta a otra IP. - El candado no llega y la página sale sin HTTPS pasados cinco minutos: el DNS no apuntaba al VPS cuando Let's Encrypt lo comprobó. Corrige el registro, borra el dominio en Dokploy y vuelve a crearlo.
- Cualquier otra cosa: abre un ticket desde tu área de cliente (Cómo abrir un ticket de soporte y que se resuelva a la primera). El dominio y el despliegue de tu aplicación son tuyos en cualquier modalidad; si tu VPS es administrado y el problema está en Traefik o en el sistema, es nuestro.