AboutOpinionesBlogContacto

Software Crafters® 2025 | Creado con 🖤 para elevar el nivel de la conversación sobre programación en español | Legal

Crea tu propio VPS con Dokploy en Digital Ocean

Guía completa paso a paso para configurar un VPS seguro con Dokploy en Digital Ocean. Aprende a configurar usuarios, SSH, firewall y deploy de aplicaciones.

Miguel A. Gómez5 min read

En la newsletter hablo de cómo diseñar mejor software. O lo que es lo mismo: escribir código sostenible.

Al suscribirte comparto contigo los libros que más me han hecho crecer como dev —los que todo desarrollador serio debería leer al menos una vez.

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.

Requisitos Previos

Antes de comenzar, asegúrate de tener:

  • Droplet de Digital Ocean activo (Ubuntu 20.04/22.04/24.04 LTS recomendado)
  • Mínimo 2GB RAM y 30GB de disco
  • Acceso root al droplet

Paso 1: Conexión Inicial al Droplet

Una vez creado tu droplet en Digital Ocean, conecta por SSH:

ssh root@TU_IP_DEL_DROPLET

Paso 2: Actualizar el Sistema

Es importante mantener el sistema actualizado antes de comenzar cualquier configuración:

apt update && apt upgrade -y

Paso 3: Crear Usuario No-Root

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

Paso 4: Configurar Autenticación SSH para el Nuevo Usuario

Opción A: Copiar claves SSH desde root

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

Opción B: Configurar nueva clave SSH

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

Paso 5: Probar Acceso con el Nuevo Usuario

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.

Paso 6: Configurar el Firewall UFW

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:

  • Permiten conexiones SSH (puerto 22)
  • Permiten HTTP (puerto 80)
  • Permiten HTTPS (puerto 443)
  • Permiten el puerto 3000 para Dokploy

Paso 7: Asegurar SSH y Bloquear Root

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

Paso 8: Instalar Dokploy

Ahora que tenemos el servidor securizado, procedemos a instalar Dokploy:

curl -sSL https://dokploy.com/install.sh | sh

Este script:

  • Instalará Docker automáticamente si no está presente
  • Configurará los contenedores necesarios
  • Mostrará la URL de acceso al final

La instalación puede tardar unos minutos dependiendo de tu conexión y los recursos del servidor.

Paso 9: Acceder al Dashboard de Dokploy

Una vez finalizada la instalación:

  1. Abre tu navegador y ve a:

    http://TU_IP_DEL_DROPLET:3000
  2. Configura tu cuenta de administrador con:

    • Email
    • Contraseña segura
    • Nombre de usuario

Paso 10: Configurar Dominio y SSL (Opcional pero Recomendado)

Para tener una instalación profesional, es recomendable configurar un dominio con SSL:

Desde el panel de Dokploy:

  1. Ve a Settings → Server
  2. Configura tu dominio
  3. Habilita SSL/TLS con Let's Encrypt

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

Verificaciones de Seguridad

Verificar que root está bloqueado:

Desde otra terminal, intenta:

ssh root@TU_IP_DEL_DROPLET

Debería fallar con un mensaje de acceso denegado.

Verificar firewall:

sudo ufw status verbose

Verificar servicios Docker:

sudo docker ps

Deberías ver los contenedores de Dokploy ejecutándose correctamente.

Comandos Útiles de Dokploy

# Ver logs de Dokploy
docker logs dokploy

# Reiniciar Dokploy
docker service update --force dokploy

# Ver estado de servicios
docker service ls

Troubleshooting

No puedo acceder a Dokploy en el puerto 3000

# 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

Bloqueado fuera del servidor

Si perdiste acceso SSH:

  1. Usa la consola de Digital Ocean (Recovery Console)
  2. Revierte cambios en
    /etc/ssh/sshd_config
  3. Reinicia servicio SSH

Notas Importantes

  • Guarda tu contraseña de usuario en un lugar seguro
  • Guarda la clave SSH privada en un lugar seguro
  • No cierres la sesión de root hasta verificar que el nuevo usuario funciona correctamente
  • Haz un snapshot del droplet antes de cambios importantes

Resumen de Credenciales a Recordar

  • Usuario SSH:
    tuusuario
  • Contraseña del usuario: [la que configuraste]
  • Clave SSH privada: [ubicación en tu máquina local]
  • Email admin Dokploy: [el que configuraste]
  • Contraseña admin Dokploy: [la que configuraste]

Conclusión

Con 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

Quizás también te interese

El error del billón de dólares de Tony Hoare