bolt Valebyte VPS desde $4/mes — NVMe, despliegue en 60s.

Obtener VPS arrow_forward

Dokku en VPS: instalación, configuración y mantenimiento

calendar_month 10 de junio de 2026 schedule 24 min de lectura visibility 48 vistas
person
Valebyte Team
Dokku en VPS: instalación, configuración y mantenimiento

Dokku en un VPS permite transformar tu servidor virtual en una potente plataforma PaaS, simplificando el despliegue y la gestión de aplicaciones mediante contenedores Docker, la automatización del despliegue Git y la configuración del entorno. Esta herramienta representa una alternativa elegante a las grandes soluciones PaaS en la nube, como Heroku, permitiendo a los desarrolladores mantener un control total sobre la infraestructura, optimizar los costos y desplegar aplicaciones en cuestión de minutos. La instalación de Dokku en un VPS de Valebyte.com abre la posibilidad de crear un entorno flexible y escalable para tus proyectos, ya sean aplicaciones web, API o microservicios, con costos generales mínimos y un alto grado de automatización. Es ideal para quienes buscan un equilibrio entre la facilidad de uso y el control total del servidor, aprovechando las ventajas de qué es un VPS.

¿Qué es Dokku y por qué es ideal para el despliegue en un VPS?

Dokku es una plataforma como servicio (PaaS) de código abierto que permite desplegar y gestionar aplicaciones en tu propio servidor utilizando contenedores Docker. En esencia, es "tu propio Heroku", pero con control total sobre la infraestructura y sin las elevadas facturas mensuales por cada detalle. Cuando se habla de dokku vps, se refiere precisamente a esta combinación: un servidor privado virtual en el que está instalado Dokku, transformándolo en un entorno PaaS personal.

Dokku como mini-PaaS: principales ventajas

La principal ventaja de Dokku radica en su simplicidad y eficiencia. Permite a los desarrolladores centrarse en el código, no en la administración del servidor. Aquí están las características clave que hacen que Dokku sea atractivo:

  • Despliegue centrado en Git: Simplemente haces un git push al repositorio en tu VPS, y Dokku automáticamente compila tu aplicación (usando Buildpacks o Dockerfile) y la despliega en un contenedor Docker. Esto acelera significativamente el proceso de CI/CD para equipos pequeños y desarrolladores individuales.
  • Uso de Docker: Cada aplicación está aislada en su propio contenedor Docker, lo que garantiza estabilidad, portabilidad y facilidad de gestión de dependencias. Esto también significa que Dokku utiliza eficientemente los recursos de tu servidor, ya que Docker es mucho más ligero que las máquinas virtuales completas. Puedes obtener más información sobre las diferencias en el artículo Contenedores vs VM vs Bare-metal.
  • Plugins para servicios: Dokku cuenta con un amplio ecosistema de plugins que permiten añadir fácilmente bases de datos (PostgreSQL, MySQL, Redis, MongoDB), colas de mensajes y otros servicios a tus aplicaciones. Estos servicios también se ejecutan en contenedores Docker y se vinculan fácilmente con tu aplicación.
  • HTTPS automático: La integración con Let's Encrypt permite configurar fácilmente certificados SSL gratuitos para tus aplicaciones, garantizando una conexión segura.
  • Bajo consumo de recursos: Dokku en sí es bastante ligero y no requiere muchos recursos, lo que lo hace ideal para el despliegue en VPS económicos o de gama media.
  • Control total: A diferencia de las PaaS comerciales, donde estás limitado por las capacidades de la plataforma, Dokku te da acceso completo al servidor. Puedes configurar lo que quieras, instalar cualquier software y tener control total sobre los datos. Esto es especialmente importante para quienes prefieren un self-managed VPS.

Comparación de Dokku con grandes PaaS y el despliegue manual

Para entender el valor de Dokku, es útil compararlo con otros enfoques:

Dokku vs. Heroku/Netlify/Vercel:

  • Costo: Dokku es significativamente más barato. Solo pagas por tu VPS (por ejemplo, desde $5-10 al mes), mientras que Heroku puede volverse rápidamente costoso a medida que la aplicación crece y se añaden servicios. Por ejemplo, migrar de Heroku Postgres a un Managed-PG propio en un VPS puede ahorrar una cantidad considerable de dinero, como escribimos en el artículo Cómo migrar de Heroku Postgres a un Managed-PG en un VPS.
  • Control: Dokku te da control total sobre el servidor y el entorno. En las PaaS comerciales, estás limitado por su ecosistema.
  • Complejidad: Heroku es más sencillo para empezar, pero Dokku también es muy fácil después de la configuración inicial. Para Dokku se requiere una comprensión básica de Linux y Docker.
  • Escalabilidad: Heroku ofrece una escalabilidad horizontal sin interrupciones. Dokku requiere escalabilidad manual (por ejemplo, levantar un nuevo VPS y configurar Dokku para una nueva aplicación) o el uso de herramientas de orquestación más complejas, como Kubernetes, si superas los límites de un solo servidor.

Dokku vs. despliegue manual en un VPS:

  • Automatización: Dokku automatiza la mayor parte de las tareas rutinarias: instalación de dependencias, compilación, creación de contenedores, configuración de Nginx/Caddy, SSL. Con el despliegue manual, todo esto debe hacerse manualmente o escribiendo tus propios scripts.
  • Aislamiento: Dokku utiliza Docker para aislar las aplicaciones, lo que es más seguro y fiable que ejecutar todo en un solo servidor sin contenerización.
  • Mantenimiento: El mantenimiento de Dokku (actualizaciones, copias de seguridad) está estandarizado. Con el despliegue manual, cada proyecto puede tener sus propias particularidades.
  • Tiempo de despliegue: Con Dokku, el despliegue de una nueva aplicación lleva minutos. El despliegue manual puede llevar horas.

Así, Dokku se sitúa en un punto intermedio, ofreciendo la comodidad de una PaaS con la flexibilidad y economía de un servidor propio. Es una excelente opción para desarrolladores, startups y equipos pequeños que necesitan una plataforma eficiente para desplegar aplicaciones sin complejidad excesiva ni altos costos.

Requisitos del sistema para Dokku en el servidor: ¿qué VPS elegir?

Elegir el VPS adecuado para instalar Dokku es un paso clave que determinará el rendimiento y la estabilidad de tus aplicaciones. Aunque Dokku en sí es bastante ligero, tus aplicaciones y sus servicios consumirán los recursos principales. Al elegir un dokku vps, es importante considerar no solo las necesidades actuales, sino también el crecimiento potencial.

Configuraciones mínimas y recomendadas

Para el funcionamiento exitoso de Dokku y una o dos aplicaciones pequeñas (por ejemplo, una API simple de Node.js y PostgreSQL) se requieren las siguientes características mínimas:

  • Sistema operativo: Ubuntu 20.04/22.04 LTS, Debian 11/12 o CentOS 7/8. Ubuntu LTS suele ser la opción más recomendada debido a su amplio soporte y paquetes actualizados.
  • RAM (Memoria): Mínimo 1 GB. Esto será suficiente para Dokku, Docker y una o dos aplicaciones muy ligeras sin una carga significativa. Sin embargo, si planeas ejecutar una base de datos o aplicaciones que consuman más recursos, esto no será suficiente.
  • CPU (Procesador): 1 vCPU. Un procesador moderno (por ejemplo, Intel Xeon E3/E5 o AMD EPYC) con una frecuencia de reloj de 2.0 GHz o superior.
  • Disco: Mínimo 20 GB SSD. El SSD es crítico para el rendimiento de Docker y las bases de datos. NVMe será aún mejor.
  • Swap (Archivo de intercambio): Se recomienda configurar un archivo Swap de 1-2 GB, especialmente con 1-2 GB de RAM, para evitar errores OOM durante la compilación de aplicaciones o picos de carga.

Configuraciones recomendadas para varias aplicaciones o carga moderada:

  • RAM: 2-4 GB. Esto permitirá alojar cómodamente varias aplicaciones, una o dos bases de datos (PostgreSQL, Redis) y garantizar un funcionamiento estable.
  • CPU: 2 vCPU. Esto proporcionará un mejor rendimiento al compilar aplicaciones, procesar solicitudes y ejecutar tareas en segundo plano.
  • Disco: 40-80 GB NVMe SSD. Un disco rápido mejorará significativamente el tiempo de respuesta de las aplicaciones, especialmente aquellas que trabajan activamente con la base de datos.
  • Swap: 2-4 GB.

Para aplicaciones de alta carga o un gran número de servicios:

  • RAM: 8 GB o más.
  • CPU: 4 vCPU o más.
  • Disco: 100 GB+ NVMe SSD.

Importancia de SSD/NVMe y un canal estable

La elección del subsistema de disco es de gran importancia para el rendimiento del entorno dokku self-hosted:

  • SSD/NVMe: Los HDD tradicionales son altamente desaconsejables para Dokku. Docker trabaja activamente con el disco al construir imágenes, iniciar contenedores y registrar logs. Las bases de datos, como PostgreSQL o MySQL, también son muy sensibles a la velocidad del disco. El uso de SSD, y aún mejor NVMe, reducirá significativamente el tiempo de despliegue, acelerará el funcionamiento de las aplicaciones y bases de datos, y aumentará la capacidad de respuesta general del sistema.
  • Conexión estable: Tu VPS requerirá una conexión a internet estable y de alta velocidad. Esto es necesario para la descarga rápida de imágenes Docker, los Git pushes durante el despliegue, y para asegurar bajas latencias para los usuarios de tus aplicaciones. Busca proveedores que ofrezcan puertos de 1 Gbit/s o 10 Gbit/s, incluso si el ancho de banda real es menor.
  • Ubicación del servidor: Elige un centro de datos ubicado más cerca de tu audiencia objetivo para minimizar las latencias.

Valebyte.com ofrece varios planes de VPS con discos NVMe que son ideales para Dokku, garantizando un alto rendimiento y fiabilidad. Por ejemplo, para proyectos pequeños, un plan con 2GB RAM / 2vCPU / 40GB NVMe será adecuado, y para tareas más serias, 4GB RAM / 4vCPU / 80GB NVMe o superior.

¿Buscas un servidor fiable para tus proyectos?

VPS desde $10/mes y servidores dedicados desde $9/mes con NVMe, protección DDoS y soporte 24/7.

Ver ofertas →

Instalación paso a paso de Dokku en un VPS: preparación e inicialización

El proceso de instalación de Dokku en tu VPS incluye varias etapas clave: preparación del servidor, instalación de Docker (en el que funciona Dokku) y del propio Dokku, y luego su configuración inicial. Esta sección te guiará a través de cada paso.

Preparación del servidor: OS, actualizaciones, clave SSH

Antes de proceder con la instalación de Dokku, debes asegurarte de que tu VPS esté listo.

  1. Elección del sistema operativo: Asegúrate de que tu VPS tenga un sistema operativo compatible instalado. Se recomienda usar Ubuntu 22.04 LTS.
  2. Actualización del sistema: Conéctate a tu VPS por SSH (normalmente usando el comando ssh root@tu_ip_del_servidor o un usuario con privilegios sudo) y actualiza todos los paquetes a las versiones más recientes.
  3. sudo apt update
    sudo apt upgrade -y
    sudo apt autoremove -y
  4. Configuración de la clave SSH: Para un despliegue seguro y conveniente de aplicaciones con Dokku, es fundamental usar claves SSH. Asegúrate de que tu clave SSH pública esté añadida al servidor. Si aún no has generado claves, hazlo en tu máquina local:
    ssh-keygen -t rsa -b 4096 -C "[email protected]"
    Luego copia la clave pública al servidor:
    ssh-copy-id root@tu_ip_del_servidor
    O añade manualmente el contenido del archivo ~/.ssh/id_rsa.pub al archivo ~/.ssh/authorized_keys en el servidor.
  5. Configuración del hostname: Establece el hostname correcto para tu servidor. Esto no es estrictamente obligatorio, pero es una buena práctica.
    sudo hostnamectl set-hostname your-dokku-server.com
    Asegúrate de que este hostname se resuelva a la IP de tu servidor a través de DNS.

Instalación de Docker y Dokku: comandos y verificación

Dokku funciona sobre Docker, por lo que primero debes instalar Docker. Si tu VPS de Valebyte.com se proporciona con una imagen de Ubuntu preconfigurada, Docker podría ya estar instalado, pero es mejor verificar.

Instalación de Docker (si no está instalado):

sudo apt install -y apt-transport-https ca-certificates curl software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io

Verifica la instalación de Docker:

sudo docker run hello-world

Si ves un mensaje de bienvenida, Docker está instalado correctamente.

Instalación de Dokku:

Dokku proporciona un script de instalación conveniente. Ejecuta los siguientes comandos:

wget https://dokku.com/install/docker.sh
sudo DOKKU_TAG=v0.32.7 bash docker.sh

Reemplaza v0.32.7 con la versión actual de Dokku, que puedes encontrar en el sitio web oficial de Dokku. El script instalará todos los componentes necesarios, incluyendo Dokku y sus dependencias. El proceso puede tardar varios minutos.

Configuración inicial de Dokku a través de la interfaz web

Una vez completada la instalación de Dokku, deberás realizar la configuración inicial a través de la interfaz web. Abre tu navegador web y ve a la dirección de tu servidor:

http://tu_ip_del_servidor

Verás la página de bienvenida de Dokku. Aquí deberás seguir varios pasos:

  1. Public Key: Pega tu clave SSH pública. Es la misma clave que usaste para acceder al servidor. Dokku la usará para la autenticación durante los Git pushes.
  2. Hostname: Introduce el nombre de dominio que planeas usar para tus aplicaciones (por ejemplo, your-dokku-server.com). Si no tienes uno, puedes dejar la dirección IP, pero para mayor comodidad y HTTPS, un nombre de dominio es preferible.
  3. Use Virtual Hostnames: Asegúrate de marcar esta opción. Permite a Dokku enrutar automáticamente las solicitudes a tus aplicaciones basándose en sus nombres de dominio (por ejemplo, my-app.your-dokku-server.com).

Haz clic en "Finish Setup". Ahora tu dokku en el servidor está listo para recibir las primeras aplicaciones.

rocket_launch Elección rápida

¿Buscas un servidor que simplemente funcione?

Valebyte VPS — NVMe, soporte 24/7, despliegue en 60 segundos.

Ver planes VPS arrow_forward

Despliegue de la primera aplicación con Dokku: Git push y plugins

Después de una instalación y configuración inicial exitosas de Dokku, estás listo para desplegar tu primera aplicación. El proceso de despliegue con Dokku es sorprendentemente simple y recuerda al trabajo con Heroku: simplemente "empujas" tu código a un repositorio Git en el servidor Dokku.

Añadir clave SSH y crear una aplicación

Asegúrate de que la clave SSH pública que utilizas para acceder al servidor (y que añadiste en la interfaz web de Dokku) también esté añadida a tu agente SSH local. Esto te permitirá interactuar sin problemas con Dokku a través de Git.

Creación de una aplicación en Dokku:

En tu máquina local, en el directorio raíz de tu proyecto, primero inicializa un repositorio Git (si aún no lo has hecho):

git init

Luego, añade Dokku como un repositorio Git remoto. Reemplaza my-app con el nombre deseado de tu aplicación y your-dokku-server.com con la IP o el dominio de tu servidor:

git remote add dokku [email protected]:my-app

Este comando no solo añade el repositorio remoto, sino que también le indica a Dokku que cree una nueva aplicación con el nombre my-app.

Despliegue de la aplicación: ejemplo con Node.js/Python

Ahora puedes desplegar tu aplicación. Dokku detecta automáticamente el tipo de tu aplicación basándose en Buildpacks (por ejemplo, package.json para Node.js, requirements.txt para Python, Gemfile para Ruby) o utiliza un Dockerfile si está presente en la raíz del proyecto.

Ejemplo de despliegue de una aplicación Node.js:

Asegúrate de que tu package.json contenga un script start (por ejemplo, "start": "node server.js") y que todas las dependencias estén especificadas.

git add .
git commit -m "Initial deploy"
git push dokku master

Dokku iniciará el proceso de compilación:

  1. Clonará tu código.
  2. Detectará el Buildpack (en este caso Node.js).
  3. Instalará las dependencias (npm install o yarn install).
  4. Compilará la aplicación (si es necesario).
  5. Creará una imagen Docker.
  6. Ejecutará el contenedor con tu aplicación, utilizando el script start.
  7. Configurará Nginx/Caddy para proxyar las solicitudes a tu aplicación.

Después de un despliegue exitoso, Dokku mostrará la URL de tu aplicación, normalmente en el formato http://my-app.your-dokku-server.com.

Ejemplo de despliegue de una aplicación Python (Flask/Django):

Asegúrate de tener un archivo requirements.txt con todas las dependencias y un Procfile que indique cómo iniciar tu aplicación. Por ejemplo, para Flask:

web: gunicorn app:app

O para Django:

web: gunicorn your_project.wsgi --log-file -

Luego:

git add .
git commit -m "Initial deploy"
git push dokku master

El proceso será similar al de Node.js, pero con el Buildpack de Python.

Gestión de plugins: base de datos (PostgreSQL, Redis) y otros servicios

La mayoría de las aplicaciones requieren una base de datos u otros servicios externos. Dokku simplifica su instalación y vinculación con tu aplicación a través de un sistema de plugins. Para dokku docker, esto significa ejecutar contenedores adicionales con servicios.

Lista de plugins disponibles:

dokku plugin:list

Instalación del plugin de PostgreSQL:

dokku plugin:install https://github.com/dokku/dokku-postgres.git postgres

Creación de un servicio PostgreSQL para tu aplicación:

dokku postgres:create my-app-db

Vinculación del servicio con la aplicación:

dokku postgres:link my-app-db my-app

Este comando creará una variable de entorno (por ejemplo, DATABASE_URL) en tu aplicación my-app, que contendrá la cadena de conexión a la base de datos my-app-db. Tu aplicación podrá usar esta variable para conectarse a la base de datos.

Ejemplo para Redis:

dokku plugin:install https://github.com/dokku/dokku-redis.git redis
dokku redis:create my-app-redis
dokku redis:link my-app-redis my-app

Después de vincular los servicios, es posible que necesites volver a desplegar la aplicación para que vea las nuevas variables de entorno:

dokku ps:rebuild my-app

O simplemente hacer un nuevo git push.

Dokku simplifica significativamente la gestión de la infraestructura, permitiéndote centrarte en el desarrollo en lugar de la configuración de bases de datos y otros servicios. Esto convierte la solución dokku self-hosted en una herramienta potente para el trabajo productivo.

Configuración de Reverse Proxy y HTTPS para aplicaciones Dokku

Para cualquier aplicación web, la disponibilidad por nombre de dominio y una conexión segura mediante HTTPS son críticas. Dokku automatiza estos procesos, utilizando Nginx (por defecto) o Caddy como reverse proxy y integrándose con Let's Encrypt para certificados SSL gratuitos.

HTTPS automático con Let's Encrypt

Dokku tiene una excelente integración con Let's Encrypt, lo que permite obtener y configurar fácilmente certificados SSL para tus aplicaciones. Esta es una característica clave para cualquier despliegue de dokku vps.

  1. 1. Instalación del plugin Let's Encrypt: Primero, necesitas instalar el plugin Dokku Let's Encrypt.
    dokku plugin:install https://github.com/dokku/dokku-letsencrypt.git
  2. 2. Añadir un dominio a la aplicación: Antes de solicitar el certificado, asegúrate de que tu aplicación esté vinculada a un nombre de dominio. Supongamos que tu aplicación se llama my-app y quieres que esté disponible en my-app.example.com. Debes configurar un registro A en el DNS de tu dominio example.com, apuntando a la dirección IP de tu servidor Dokku. Luego, añade este dominio a tu aplicación Dokku:
    dokku domains:add my-app my-app.example.com
  3. 3. Solicitud de certificado SSL: Ahora puedes solicitar un certificado Let's Encrypt para tu aplicación:
    dokku letsencrypt:enable my-app
    Dokku solicitará e instalará automáticamente el certificado. Si todo ha ido bien, tu aplicación estará disponible en https://my-app.example.com. Dokku también configurará la renovación automática del certificado.
  4. 4. Especificar email para notificaciones: Se recomienda especificar un email para las notificaciones de Let's Encrypt (por ejemplo, sobre problemas de renovación):
    dokku letsencrypt:set my-app contact_email [email protected]

Si utilizas el dominio principal del servidor (por ejemplo, your-dokku-server.com) para todas las aplicaciones (my-app.your-dokku-server.com), basta con añadir un registro A para el dominio principal y un registro CNAME Wildcard *.your-dokku-server.com que apunte al dominio principal, o registros A individuales para cada subdominio. Luego, solicita un certificado para cada aplicación.

Dominios personalizados y proxying

Dokku utiliza Nginx o Caddy (dependiendo de la configuración) para enrutar las solicitudes entrantes al contenedor de aplicación correcto. Este es el papel del reverse proxy.

Gestión de dominios de aplicación:

  • Añadir dominio:
    dokku domains:add my-app custom.my-domain.com
    No olvides configurar un registro DNS A para custom.my-domain.com apuntando a la IP de tu servidor Dokku.
  • Eliminar dominio:
    dokku domains:remove my-app custom.my-domain.com
  • Ver dominios:
    dokku domains:report my-app

Configuración de Nginx/Caddy:

Por defecto, Dokku utiliza Nginx. Si quieres usar Caddy (que puede ser más fácil de configurar para HTTPS), puedes instalar el plugin correspondiente:

dokku plugin:install https://github.com/dokku/dokku-caddy.git

Después de instalar el plugin de Caddy, Dokku lo usará en lugar de Nginx para las nuevas aplicaciones. Para las aplicaciones existentes, puede ser necesario cambiar o recrearlas. Caddy maneja automáticamente HTTPS para los dominios que añades a las aplicaciones.

Configuración avanzada de Nginx/Caddy:

En algunos casos, es posible que necesites añadir directivas personalizadas a la configuración de Nginx o Caddy. Dokku permite hacerlo creando archivos de configuración en directorios específicos:

  • Para Nginx: Crea un archivo /home/dokku/my-app/nginx.conf.d/custom.conf en tu VPS. Cualquier directiva añadida a este archivo se incluirá en la configuración de Nginx para my-app. Por ejemplo, para aumentar el límite de tamaño de los archivos subidos:
    client_max_body_size 100M;
    Después de modificar el archivo, es necesario reconstruir la configuración de Nginx:
    dokku nginx:build-config my-app
  • Para Caddy: De manera similar, puedes añadir directivas personalizadas de Caddyfile en /home/dokku/my-app/Caddyfile.d/custom.conf.

Utilizando estas funciones, puedes configurar fácilmente el acceso a tus aplicaciones mediante dominios personalizados con una conexión HTTPS segura, lo cual es un estándar para cualquier aplicación web moderna desplegada en dokku en el servidor.

Mantenimiento de Dokku: copias de seguridad, actualizaciones y monitorización

El mantenimiento regular es crucial para cualquier sistema en producción, y el entorno dokku self-hosted no es una excepción. Una estrategia de copias de seguridad adecuada, actualizaciones oportunas y una monitorización efectiva garantizarán la estabilidad, seguridad y fiabilidad de tus aplicaciones.

Estrategias de copia de seguridad de datos y configuraciones

La pérdida de datos puede ser catastrófica. Por lo tanto, desarrollar una estrategia de copias de seguridad fiable es la prioridad número uno.

1. Copia de seguridad de datos de aplicaciones (bases de datos):

Los plugins de Dokku para bases de datos (PostgreSQL, MySQL, Redis) suelen proporcionar comandos para crear y restaurar copias de seguridad. Por ejemplo, para PostgreSQL:

# Crear una copia de seguridad
dokku postgres:export my-app-db > my-app-db-backup.sql

# Restaurar una copia de seguridad (¡ten cuidado, esto sobrescribirá los datos existentes!)
cat my-app-db-backup.sql | dokku postgres:import my-app-db

Se recomienda automatizar este proceso mediante tareas cron. Por ejemplo, para una copia de seguridad diaria de PostgreSQL:

# Añadir a crontab -e
0 3 * * * dokku postgres:export my-app-db > /home/dokku/backups/my-app-db-$(date +\%Y\%m\%d\%H\%M\%S).sql

Asegúrate de que el directorio /home/dokku/backups/ exista y tenga los permisos adecuados.

2. Copia de seguridad de la configuración de Dokku:

Toda la configuración de Dokku se almacena en el directorio /home/dokku de tu servidor. Puedes hacer una copia de seguridad completa de este directorio:

sudo tar -czvf /root/dokku-config-backup-$(date +\%Y\%m\%d\%H\%M\%S).tar.gz /home/dokku

Esto incluye la configuración de las aplicaciones, variables de entorno, claves SSH, datos de plugins, etc. En caso de pérdida total del servidor, teniendo este archivo y las copias de seguridad de las bases de datos, podrás restaurar tu entorno Dokku en un nuevo VPS.

3. Almacenamiento externo de copias de seguridad:

Es fundamental no almacenar las copias de seguridad en el mismo servidor que los datos originales. Utiliza almacenamientos externos, como almacenamientos en la nube compatibles con S3, servidores FTP u otros VPS (por ejemplo, un servidor para email hosting puede tener espacio adicional). Puedes usar rsync, scp o herramientas especializadas para la carga automática de copias de seguridad.

4. Copias de seguridad del sistema de archivos (si aplica):

Si tu aplicación almacena archivos de usuario en el disco (y no en S3 u otro almacenamiento en la nube), asegúrate de hacer también copias de seguridad de esos directorios. Para ello, puedes usar el plugin Dokku dokku-storage.

Actualización de Dokku y Docker

Las actualizaciones regulares de Dokku y Docker son importantes para obtener nuevas funciones, correcciones de errores y parches de seguridad.

Actualización de Dokku:

Antes de actualizar Dokku, asegúrate de tener una copia de seguridad reciente. Luego, ejecuta los siguientes comandos:

sudo apt update
sudo apt upgrade -y dokku

Si quieres actualizar a una versión específica, usa:

sudo DOKKU_TAG=v0.32.7 apt-get install dokku -y

Siempre revisa la documentación oficial de Dokku antes de actualizaciones importantes para detectar breaking changes.

Actualización de Docker:

Docker también debe actualizarse regularmente. Dado que Dokku depende de Docker, las actualizaciones de Docker a veces pueden requerir reiniciar el servicio Dokku o incluso todo el servidor. La actualización de Docker generalmente se realiza a través del gestor de paquetes estándar:

sudo apt update
sudo apt upgrade -y docker-ce docker-ce-cli containerd.io

Después de actualizar Docker, es posible que sea necesario reiniciar los contenedores Dokku:

dokku ps:rebuildall

Monitorización de recursos de VPS y aplicaciones

La monitorización te permite rastrear el rendimiento de tu dokku en el servidor y reaccionar rápidamente a los problemas.

  • Monitorización básica del VPS: Utiliza las utilidades estándar de Linux:
    • htop o top: para ver el uso de CPU, RAM, Swap y procesos.
    • df -h: para verificar el espacio libre en disco.
    • free -h: para información detallada sobre RAM y Swap.
    • docker stats: para ver el uso de recursos por contenedores Docker individuales.
  • Monitorización de logs de aplicaciones: Dokku recopila los logs de tus aplicaciones. Puedes verlos con:
    dokku logs my-app
    dokku logs my-app -t # para ver los logs en tiempo real
  • Monitorización avanzada: Para entornos de producción más serios, considera el uso de sistemas de monitorización externos como Prometheus/Grafana, Datadog, New Relic o Zabbix. Estos sistemas pueden recopilar métricas de tu VPS y contenedores Docker, alertar sobre problemas y proporcionar datos históricos para el análisis.

Al revisar regularmente estas métricas, podrás detectar cuellos de botella a tiempo, prevenir sobrecargas y asegurar el funcionamiento ininterrumpido de tus aplicaciones en Dokku.

rocket_launch Elección rápida

¿Buscas un servidor que simplemente funcione?

Valebyte VPS — NVMe, soporte 24/7, despliegue en 60 segundos.

Ver planes VPS arrow_forward

Elección de la configuración de VPS para Dokku bajo carga real: tablas y recomendaciones

Determinar la configuración óptima de VPS para Dokku es un equilibrio entre costo, rendimiento y escalabilidad. Dado que un dokku vps puede usarse para una amplia variedad de proyectos, desde pequeños sitios personales hasta APIs de alta carga, es importante evaluar correctamente las necesidades de tu aplicación.

Evaluación de necesidades: número de aplicaciones, tráfico, recursos

Al elegir un VPS, considera los siguientes factores:

  1. 1. Número y tipo de aplicaciones:
    • Sitios estáticos/APIs muy ligeras (1-2 unidades): Si alojas varios sitios estáticos o microservicios que rara vez reciben solicitudes, los requisitos de recursos serán mínimos.
    • Aplicaciones web dinámicas (1-3 unidades): Aplicaciones en Node.js, Python/Django/Flask, Ruby/Rails, PHP (Laravel/Symfony) con una base de datos requieren más RAM y CPU.
    • APIs/servicios de alta carga (1 unidad): Si tienes una aplicación, pero muy activa, puede requerir recursos significativos de CPU y RAM.
    • Múltiples aplicaciones/microservicios (3+ unidades): Cada aplicación y sus servicios (bases de datos, caché) consumen recursos. Cuantos más haya, más potente debe ser el VPS.
  2. 2. Tráfico esperado y número de usuarios:
    • Tráfico bajo (hasta 1000 visitantes únicos al día): Requisitos mínimos.
    • Tráfico medio (1000-10000 visitantes al día): Se requerirá más CPU y RAM para manejar solicitudes concurrentes.
    • Tráfico alto (más de 10000 visitantes al día): Posiblemente se requiera escalar más allá de un solo servidor Dokku o migrar a un servidor dedicado.
  3. 3. Tipo y tamaño de la base de datos:
    • BD pequeña (hasta 1 GB): PostgreSQL/MySQL, Redis para caché — pueden funcionar en un VPS con 2-4 GB de RAM.
    • BD mediana (1-10 GB): Requiere 4-8 GB de RAM y un disco NVMe rápido.
    • BD grande (más de 10 GB): Posiblemente valga la pena considerar un servidor dedicado o un servicio de base de datos gestionado (Managed Database Service).
  4. 4. Uso de tareas en segundo plano/workers: Si tu aplicación utiliza activamente colas (Redis/RabbitMQ) y workers en segundo plano, esto también aumenta el consumo de CPU y RAM.
  5. 5. Planes futuros: Siempre deja un pequeño margen de recursos para el crecimiento futuro. La escalabilidad vertical de un VPS (actualización) suele ser posible, pero a veces requiere un reinicio del servidor.

Tabla de tarifas VPS recomendadas de Valebyte.com

Basándonos en las necesidades mencionadas, ofrecemos configuraciones orientativas de VPS de Valebyte.com que son adecuadas para despliegues dokku self-hosted.

Escenario de uso de Dokku Tarifa VPS recomendada de Valebyte.com vCPU RAM (GB) Disco NVMe (GB) Precio mensual estimado ($)
Mínimo (1-2 APIs/sitios ligeros, sin BD o con una muy ligera) Dokku Starter 1 2 40 $7 - $10
Proyecto pequeño (2-4 aplicaciones web, 1-2 BD pequeñas, tráfico moderado) Dokku Standard 2 4 80 $15 - $25
Proyecto mediano (4-8 aplicaciones/microservicios, 2-3 BD medianas, tráfico medio) Dokku Pro 4 8 160 $30 - $50
Proyecto grande/Alta carga (Muchas aplicaciones, BD grandes, tráfico alto) Dokku Enterprise 6+ 16+ 320+ $60+

Nota: Los precios son orientativos y pueden variar. Las tarifas actuales y la disponibilidad se pueden consultar en el sitio web de Valebyte.com. Todas las tarifas incluyen discos NVMe de alta velocidad y una conexión estable.

Escalabilidad y optimización

Incluso con un VPS correctamente elegido, con el tiempo puede ser necesario escalar u optimizar.

Escalabilidad vertical (Vertical Scaling):

La forma más sencilla de escalar para un dokku vps es actualizar tu VPS actual a un plan más potente (añadir CPU, RAM, disco). La mayoría de los proveedores, incluido Valebyte.com, permiten hacerlo con un tiempo de inactividad mínimo.

Escalabilidad horizontal (Horizontal Scaling):

Dokku en su configuración básica no está diseñado para la escalabilidad horizontal de una sola aplicación en varios servidores. Si tu aplicación alcanza los límites de un servidor potente, considera las siguientes opciones:

  • Separación de aplicaciones: Divide una aplicación monolítica en varios microservicios y despliégalos en diferentes servidores Dokku.
  • Bases de datos externas: Migra las bases de datos a servidores de bases de datos dedicados (por ejemplo, Managed PostgreSQL) o a otro VPS para liberar recursos del servidor Dokku principal.
  • Uso de CDN: Para contenido estático, utiliza una CDN para reducir la carga en tu servidor.
  • Migración a Kubernetes: Para sistemas verdaderamente de alta carga y distribuidos, es posible que sea necesario migrar de Dokku a orquestadores de contenedores más complejos, como Kubernetes.

Optimización de aplicaciones:

A veces el problema no está en el VPS, sino en un código ineficiente. Siempre vale la pena revisar:

  • Optimización de consultas a la BD: Utiliza índices, evita consultas N+1.
  • Caché: Implementa caché a nivel de aplicación (Redis, Memcached) y a nivel HTTP (CDN, Varnish).
  • Uso eficiente de recursos: Optimiza el código para que consuma menos CPU y RAM.

Una elección inteligente de la configuración del VPS y una estrategia de escalabilidad bien pensada te permitirán desarrollar tus proyectos en Dokku de manera eficiente, garantizando un funcionamiento estable y costos controlados.

Conclusiones

Dokku en un VPS es una solución potente y económicamente eficiente para el despliegue de aplicaciones, que transforma tu servidor virtual en una plataforma PaaS completa, combinando la simplicidad de Heroku con el control total sobre la infraestructura. Para la mayoría de los desarrolladores y startups que buscan un equilibrio entre flexibilidad, rendimiento y costo, Dokku en un VPS con 2-4 GB de RAM y un disco NVMe de Valebyte.com será la elección óptima, permitiéndoles centrarse en el código y no en las complejidades de la administración.

¿Listo para elegir un servidor?

VPS y servidores dedicados en más de 72 países con activación instantánea y acceso root completo.

Empezar ahora →

Compartir esta publicación:

support_agent
Valebyte Support
Usually replies within minutes
Hi there!
Send us a message and we'll reply as soon as possible.