Capitulo 2: Requisitos y Preparacion del VPS
Capitulo 2: Requisitos y Preparacion del VPS
< Volver al Indice del Tutorial
Requisitos Minimos de Hardware
Dokploy corre sobre Docker y necesita recursos para sus propios contenedores (panel, PostgreSQL, Redis, Traefik) mas los recursos de las aplicaciones que despliegues.
Minimo absoluto
| Recurso | Minimo | Descripcion |
|---|---|---|
| CPU | 1 vCPU | Suficiente para el panel y apps ligeras |
| RAM | 1 GB | Dokploy base consume ~512 MB |
| Disco | 20 GB | SO + Docker images + datos |
| Red | 1 Gbps | Estandar en la mayoria de proveedores |
Recomendado para produccion
| Recurso | Recomendado | Descripcion |
|---|---|---|
| CPU | 2 vCPU | Builds mas rapidos, multiples apps |
| RAM | 2-4 GB | Margen para bases de datos y builds |
| Disco | 40-80 GB | Espacio para imagenes Docker y backups |
| Red | 1 Gbps | Estandar |
Los builds de aplicaciones (especialmente con Nixpacks o Dockerfile multi-stage) consumen RAM temporal. Con 1 GB puedes quedarte corto durante el build de proyectos grandes.
Sistemas Operativos Soportados
Dokploy funciona sobre cualquier distribucion Linux que soporte Docker:
- Ubuntu 20.04+ (recomendado, mayor documentacion disponible)
- Debian 11+
- CentOS Stream 9+
- Fedora 38+
- Rocky Linux 9+
- AlmaLinux 9+
Ubuntu 22.04 LTS o 24.04 LTS son las opciones mas seguras por soporte a largo plazo y compatibilidad garantizada.
Proveedores VPS Recomendados
Hetzner (recomendado por precio/rendimiento)
| Plan | vCPU | RAM | Disco | Precio |
|---|---|---|---|---|
| CX22 | 2 | 4 GB | 40 GB | ~4.50 EUR/mes |
| CX32 | 4 | 8 GB | 80 GB | ~8.50 EUR/mes |
Datacenters en Europa (Alemania, Finlandia) y USA (Ashburn, Hillsboro). Mejor relacion precio/rendimiento del mercado.
DigitalOcean
| Plan | vCPU | RAM | Disco | Precio |
|---|---|---|---|---|
| Basic | 1 | 2 GB | 50 GB | 12 USD/mes |
| Basic | 2 | 4 GB | 80 GB | 24 USD/mes |
Buena documentacion, interfaz intuitiva. Mas caro que Hetzner pero con datacenters globales.
Vultr
| Plan | vCPU | RAM | Disco | Precio |
|---|---|---|---|---|
| Cloud | 1 | 2 GB | 50 GB | 12 USD/mes |
| Cloud | 2 | 4 GB | 80 GB | 24 USD/mes |
Similar a DigitalOcean en precios. Datacenters en multiples regiones incluyendo Latinoamerica (Sao Paulo).
Contabo
| Plan | vCPU | RAM | Disco | Precio |
|---|---|---|---|---|
| VPS S | 4 | 8 GB | 50 GB | ~6.50 EUR/mes |
| VPS M | 6 | 16 GB | 100 GB | ~10.50 EUR/mes |
Precios muy bajos con mucho hardware. La contrapartida es que el rendimiento de disco y red puede ser inferior a Hetzner. Util para entornos de desarrollo o staging.
Preparacion del Servidor
Una vez que tienes tu VPS con Ubuntu 22.04/24.04, conectate por SSH y sigue estos pasos.
Paso 1: Actualizar el sistema
sudo apt update && sudo apt upgrade -y
Paso 2: Crear usuario no-root
Nunca ejecutes servicios como root en produccion. Crea un usuario dedicado:
sudo adduser dokploy
sudo usermod -aG sudo dokploy
Cambia al nuevo usuario:
su - dokploy
Paso 3: Configurar SSH seguro
Copia tu clave publica al servidor (ejecuta esto desde tu maquina local):
ssh-copy-id dokploy@tu-servidor-ip
Edita la configuracion de SSH en el servidor:
sudo nano /etc/ssh/sshd_config
Modifica estas lineas:
PermitRootLogin no
PasswordAuthentication no
PubkeyAuthentication yes
Reinicia el servicio SSH:
sudo systemctl restart sshd
A partir de ahora solo puedes acceder con clave SSH, nunca con password.
Paso 4: Configurar firewall con UFW
UFW (Uncomplicated Firewall) permite controlar el trafico entrante de forma simple:
sudo apt install ufw -y
Configura las reglas basicas:
# Permitir SSH (imprescindible, no lo olvides o perderas acceso)
sudo ufw allow 22/tcp
# Permitir HTTP y HTTPS para Traefik
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
# Permitir el puerto del panel de Dokploy (solo durante setup inicial)
sudo ufw allow 3000/tcp
# Activar el firewall
sudo ufw enable
Verifica las reglas activas:
sudo ufw status verbose
Salida esperada:
Status: active
To Action From
-- ------ ----
22/tcp ALLOW Anywhere
80/tcp ALLOW Anywhere
443/tcp ALLOW Anywhere
3000/tcp ALLOW Anywhere
Una vez que configures un dominio con SSL para el panel, puedes cerrar el puerto 3000:
sudo ufw delete allow 3000/tcp
Paso 5: Configurar timezone
sudo timedatectl set-timezone America/Mexico_City
Sustituye con tu zona horaria. Puedes listar las disponibles con:
timedatectl list-timezones
Instalar Docker y Docker Compose
Dokploy requiere Docker instalado en el servidor. El script de instalacion de Dokploy puede instalarlo automaticamente, pero es buena practica tenerlo previamente configurado.
Instalar Docker Engine
Agrega el repositorio oficial de Docker:
# Instalar dependencias
sudo apt install ca-certificates curl gnupg -y
# Agregar la clave GPG de Docker
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | \
sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg
# Agregar el repositorio
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] \
https://download.docker.com/linux/ubuntu \
$(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
Instala Docker:
sudo apt update
sudo apt install docker-ce docker-ce-cli containerd.io \
docker-buildx-plugin docker-compose-plugin -y
Agregar usuario al grupo docker
Para ejecutar Docker sin sudo:
sudo usermod -aG docker $USER
newgrp docker
Verificar la instalacion
docker --version
docker compose version
docker run hello-world
Salida esperada del hello-world:
Hello from Docker!
This message shows that your installation appears to be working correctly.
Habilitar Docker en el arranque
sudo systemctl enable docker
sudo systemctl enable containerd
Verificacion Final
Antes de proceder con la instalacion de Dokploy, confirma que todo esta en orden:
# Sistema actualizado
cat /etc/os-release | head -3
# Docker funcionando
docker info | head -5
# Firewall activo
sudo ufw status
# Espacio en disco disponible
df -h /
Con el servidor preparado, estamos listos para instalar Dokploy en el siguiente capitulo.
Siguiente: Capitulo 3: Instalacion —>