Por qué autoalojar una interfaz Docker en un VPS
Cuando su VPS aloja más de tres o cuatro contenedores, el pilotaje por SSH con docker ps y docker logs muestra sus límites. Una interfaz dedicada como Portainer o Dokploy le da una vista centralizada de los contenedores, volúmenes, redes y logs, sin depender de un servicio SaaS externo que le facture los despliegues por volumen. En un VPS que controla de principio a fin, conserva sus datos, sus variables de entorno y sus secretos en su propia máquina. Portainer es una capa de administración generalista que se adapta a Docker, Docker Swarm y Kubernetes. Dokploy va más lejos: es una plataforma de despliegue de aplicaciones (PaaS) que construye sus imágenes desde un repositorio Git y gestiona los dominios y el SSL mediante Traefik integrado. La elección depende, por tanto, menos del precio que de lo que quiera automatizar.
Lo que gana al desplegar esta plantilla en su VPS
- Vista en tiempo real de todos sus contenedores, volúmenes y redes desde un único panel web.
- Acceso a los logs y al terminal de un contenedor sin abrir una sesión SSH cada vez.
- Despliegue de aplicaciones desde Git (Dokploy) o redespliegue por stack Compose (Portainer) en unos clics.
- Gestión centralizada de las variables de entorno y de los secretos sin dispersarlos en archivos.
- Control de acceso multiusuario para compartir el VPS con un equipo o con un cliente.
- Ninguna dependencia de un PaaS externo: sus datos y sus builds permanecen en su infraestructura.
Requisitos para alojarlos
Portainer es extremadamente ligero: el agente y la interfaz caben en unos 256 MB de RAM, y un VPS de 1 vCPU / 1 GB sirve para pilotar una decena de contenedores. Dokploy exige más, porque incorpora Traefik, una base PostgreSQL, Redis y un sistema de build: cuente con 2 vCPU y 4 GB de RAM como mínimo, siendo 8 GB más cómodo si construye imágenes Node o PHP con regularidad. En ambos casos necesita Docker (y Docker Compose para Dokploy), un nombre de dominio apuntando al VPS y los puertos 80/443 abiertos para el SSL automático. Prevea al menos 20 GB de disco para las imágenes y los volúmenes.
Desplegar Dokploy en un VPS (e instalar Portainer como alternativa)
Preparar el VPS e instalar Docker
Conéctese por SSH, actualice el sistema y luego instale Docker mediante el script oficial:
curl -fsSL https://get.docker.com | sh. Compruébelo condocker --version.Instalar Dokploy con un solo comando
Dokploy proporciona un script de instalación que despliega su stack completa:
curl -sSL https://dokploy.com/install.sh | sh. Implementa Traefik, PostgreSQL y Redis automáticamente y expone la interfaz en el puerto 3000.Apuntar su dominio y activar el SSL
Cree un registro A
dokploy.mondomaine.comhacia la IP del VPS. En Dokploy, indique ese dominio: Traefik genera entonces el certificado Let's Encrypt automáticamente, sin configuración manual de Nginx.Conectar un repositorio Git y desplegar una aplicación
Cree un proyecto, vincule su repositorio de GitHub o GitLab, elija la rama y el Dockerfile o el buildpack Nixpacks. Dokploy construye la imagen y la despliega; cada push desencadena una nueva build.
Alternativa: desplegar Portainer para el pilotaje puro
Si solo quiere administrar Docker, lance mejor:
docker volume create portainer_datay luegodocker run -d -p 9443:9443 --name portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer-ce:latest. La interfaz está disponible por HTTPS en el puerto 9443.Asegurar el acceso a la interfaz
Coloque la interfaz detrás de un reverse proxy con autenticación, restrinja el puerto de administración a su IP mediante el cortafuegos (
ufw allow from VOTRE_IP to any port 9443) y active la autenticación de dos factores disponible en ambas herramientas.
Desplace la tabla
| Criterio | Portainer | Dokploy |
|---|---|---|
| Tipo de herramienta | Administración Docker/Swarm/K8s | PaaS autoalojado (despliegue desde Git) |
| Despliegue desde Git | Limitado (stacks Compose) | Nativo, build automática en cada push |
| Reverse proxy / SSL | Hay que configurarlo uno mismo | Traefik + Let's Encrypt integrados |
| Huella de memoria | Muy ligera (~256 MB) | Más pesada (2-4 GB) |
| Curva de aprendizaje | Baja, orientada a la infraestructura | Media, orientada a la aplicación |
| Multientorno | Excelente (varios endpoints) | Bueno (por proyecto) |
| Caso de uso ideal | Pilotar una infraestructura Docker existente | Desplegar sus apps sin CI/CD pesado |
| Base de datos gestionada | No | Sí (plantillas Postgres/MySQL/Redis) |
Las dos herramientas no son excluyentes: instale Dokploy para desplegar sus aplicaciones desde Git, y añada Portainer en modo lectura para inspeccionar al detalle los contenedores, redes y volúmenes que Dokploy crea. Apunte Portainer al mismo socket Docker (/var/run/docker.sock) y obtendrá una visibilidad de bajo nivel que la interfaz PaaS de Dokploy no ofrece, sin ningún conflicto entre ambas.