Capitulo 3: Instalacion

Por: Artiko
dokployinstalaciondockersetup

Capitulo 3: Instalacion

< Volver al Indice del Tutorial

Instalacion con el Script Oficial

Con el servidor preparado segun el capitulo anterior, la instalacion de Dokploy se reduce a un solo comando:

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

El proceso toma entre 2 y 5 minutos dependiendo de la velocidad de tu servidor y conexion a internet.

Si prefieres revisar el script antes de ejecutarlo (recomendado en produccion):

curl -sSL https://dokploy.com/install.sh -o install.sh
less install.sh
sh install.sh

Que Hace el Script Internamente

El script de instalacion ejecuta varios pasos en secuencia. Entender que hace te ayuda a diagnosticar problemas.

1. Verificacion del sistema

2. Inicializacion de Docker Swarm

Dokploy usa Docker Swarm como orquestador, incluso para un solo nodo:

docker swarm init

Si el servidor tiene multiples interfaces de red, puede necesitar especificar la IP:

docker swarm init --advertise-addr <tu-ip-publica>

3. Creacion de la red overlay

Crea una red Docker overlay para comunicacion entre contenedores:

docker network create --driver overlay --attachable dokploy-network

4. Descarga de imagenes Docker

Descarga las imagenes necesarias:

5. Despliegue del stack

Crea y despliega un Docker Swarm stack con todos los servicios configurados. Esto incluye volumenes persistentes para PostgreSQL, Redis y las configuraciones de Traefik.

6. Configuracion de Traefik

Genera la configuracion inicial de Traefik con:

Primer Acceso al Panel

Una vez completada la instalacion, accede al panel desde tu navegador:

http://tu-ip-del-servidor:3000

Crear usuario administrador

La primera vez que accedes, Dokploy muestra un formulario de registro para crear la cuenta de administrador:

  1. Ingresa un email valido.
  2. Define una contrasena segura (minimo 8 caracteres).
  3. Haz clic en “Register”.

Esta cuenta tiene permisos completos sobre toda la plataforma. Guarda las credenciales en un gestor de contrasenas.

Pantalla principal

Despues del registro, veras el dashboard principal con:

Verificar que Todo Funciona

Verificar contenedores corriendo

Conectate por SSH y lista los servicios del stack:

docker service ls

Salida esperada:

ID             NAME                  MODE         REPLICAS   IMAGE
xxxx           dokploy_dokploy       replicated   1/1        dokploy/dokploy:latest
xxxx           dokploy_postgres      replicated   1/1        postgres:16
xxxx           dokploy_redis         replicated   1/1        redis:7
xxxx           dokploy_traefik       replicated   1/1        traefik:v3

Todos los servicios deben mostrar 1/1 en REPLICAS. Si alguno muestra 0/1, hay un problema.

Verificar logs del panel

docker service logs dokploy_dokploy --tail 50

Busca lineas como:

Ready on http://0.0.0.0:3000

Verificar Traefik

docker service logs dokploy_traefik --tail 20

Verifica que no hay errores de certificados o puertos.

Verificar acceso HTTP

Desde tu maquina local:

curl -I http://tu-ip-del-servidor:3000

Salida esperada:

HTTP/1.1 200 OK

Solucion de Problemas Comunes

Error: “docker swarm init” falla con multiples IPs

Si tu servidor tiene varias interfaces de red:

docker swarm init --advertise-addr $(hostname -I | awk '{print $1}')

Error: Puerto 3000 no accesible

Verifica que el firewall permite el trafico:

sudo ufw status | grep 3000

Si no aparece, agregalo:

sudo ufw allow 3000/tcp

Error: Contenedor en estado “0/1”

Revisa los logs del servicio que falla:

docker service logs dokploy_<servicio> --tail 100

Causas comunes:

Para liberar puertos ocupados:

# Verificar que ocupa el puerto 80
sudo lsof -i :80

# Si es Apache
sudo systemctl stop apache2
sudo systemctl disable apache2

# Si es Nginx
sudo systemctl stop nginx
sudo systemctl disable nginx

Error: Imagenes no se descargan

Verifica la conectividad con Docker Hub:

docker pull hello-world

Si falla, puede ser un problema de DNS:

echo "nameserver 8.8.8.8" | sudo tee /etc/resolv.conf

Reinstalacion limpia

Si necesitas empezar de cero:

# Eliminar el stack
docker stack rm dokploy

# Esperar a que se eliminen los contenedores
sleep 10

# Eliminar volumenes (CUIDADO: borra todos los datos)
docker volume prune -f

# Salir del swarm
docker swarm leave --force

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

Seguridad Post-Instalacion

Una vez verificado que todo funciona, aplica estas medidas:

Configurar dominio para el panel

En lugar de acceder por IP y puerto, configura un dominio (ej: panel.tudominio.com). Esto se hace desde Settings en el panel de Dokploy y se detalla en el capitulo de dominios y SSL.

Cerrar puerto 3000

Una vez que el panel es accesible por dominio con SSL:

sudo ufw delete allow 3000/tcp

Actualizar Dokploy

Para actualizar a la ultima version desde el panel, ve a Settings > Server > Update. Tambien puedes hacerlo por CLI:

docker service update --image dokploy/dokploy:latest dokploy_dokploy

Siguiente: Capitulo 4: Panel de Control —>