Software Crafters® 2025 | Creado con 🖤 para elevar el nivel de la conversación sobre programación en español | Legal
Dokploy es una plataforma open-source de deployment similar a Heroku o Vercel, pero que puedes hostear en tu propio servidor. En esta guía veremos cómo configurar un VPS seguro en Digital Ocean e instalar Dokploy para gestionar tus aplicaciones de forma sencilla.
Antes de comenzar, asegúrate de tener:
Una vez creado tu droplet en Digital Ocean, conecta por SSH:
ssh root@TU_IP_DEL_DROPLET
Es importante mantener el sistema actualizado antes de comenzar cualquier configuración:
apt update && apt upgrade -y
Por seguridad, nunca deberíamos trabajar directamente con el usuario root. Vamos a crear un usuario con privilegios sudo:
# Crear nuevo usuario (reemplaza 'tuusuario' con el nombre que prefieras) adduser tuusuario # Agregar usuario al grupo sudo usermod -aG sudo tuusuario
Si ya tienes configuradas las claves SSH en el usuario root, puedes copiarlas:
# Crear directorio .ssh para el nuevo usuario mkdir -p /home/tuusuario/.ssh # Copiar las claves autorizadas de root cp /root/.ssh/authorized_keys /home/tuusuario/.ssh/ # Establecer permisos correctos chown -R tuusuario:tuusuario /home/tuusuario/.ssh chmod 700 /home/tuusuario/.ssh chmod 600 /home/tuusuario/.ssh/authorized_keys
Desde tu máquina local:
# Generar par de claves (si no tienes una) ssh-keygen -t ed25519 -C "tu_email@ejemplo.com" # Copiar clave pública al servidor ssh-copy-id tuusuario@TU_IP_DEL_DROPLET
IMPORTANTE: No cierres la sesión actual de root todavía
Abre una nueva terminal y prueba:
ssh tuusuario@TU_IP_DEL_DROPLET
Verifica que puedes usar sudo:
sudo ls -la /root
Si todo funciona correctamente, puedes continuar con los siguientes pasos.
La configuración del firewall es crucial para la seguridad del servidor. Desde la sesión del nuevo usuario:
# Habilitar UFW sudo ufw allow OpenSSH sudo ufw allow 80/tcp sudo ufw allow 443/tcp sudo ufw allow 3000/tcp sudo ufw enable sudo ufw status
Estos comandos:
Para mejorar la seguridad, vamos a deshabilitar el acceso SSH con el usuario root:
Editar configuración SSH:
sudo nano /etc/ssh/sshd_config
Buscar y modificar/agregar estas líneas:
PermitRootLogin no PasswordAuthentication no PubkeyAuthentication yes
Guardar (Ctrl+O, Enter) y salir (Ctrl+X).
Reiniciar servicio SSH:
sudo systemctl restart sshd
Ahora que tenemos el servidor securizado, procedemos a instalar Dokploy:
curl -sSL https://dokploy.com/install.sh | sh
Este script:
La instalación puede tardar unos minutos dependiendo de tu conexión y los recursos del servidor.
Una vez finalizada la instalación:
Abre tu navegador y ve a:
http://TU_IP_DEL_DROPLET:3000
Configura tu cuenta de administrador con:
Para tener una instalación profesional, es recomendable configurar un dominio con SSL:
Desde el panel de Dokploy:
Después de configurar el dominio, puedes bloquear el acceso por IP:puerto por seguridad:
docker service update --publish-rm "published=3000,target=3000,mode=host" dokploy
Desde otra terminal, intenta:
ssh root@TU_IP_DEL_DROPLET
Debería fallar con un mensaje de acceso denegado.
sudo ufw status verbose
sudo docker ps
Deberías ver los contenedores de Dokploy ejecutándose correctamente.
# Ver logs de Dokploy docker logs dokploy # Reiniciar Dokploy docker service update --force dokploy # Ver estado de servicios docker service ls
# Verificar que el servicio está corriendo sudo docker ps | grep dokploy # Verificar firewall sudo ufw status # Verificar que el puerto está abierto sudo netstat -tulpn | grep 3000
Si perdiste acceso SSH:
/etc/ssh/sshd_configtuusuarioCon esta configuración tienes un servidor VPS seguro ejecutando Dokploy, listo para deployar tus aplicaciones. Dokploy te permite gestionar múltiples aplicaciones, bases de datos y servicios de forma sencilla, similar a plataformas como Vercel o Heroku, pero con el control total de tu infraestructura.
En próximos artículos veremos cómo deployar diferentes tipos de aplicaciones en Dokploy.
Happy deploying!
Si te ha gustado el artículo, valora y comparte en tus redes sociales. No dudes en comentar dudas, aportes o sugerencias, estaré encantado de responder.
¿Quiéres leer más artículos como éste? Pues suscríbete a la newsletter