Ficha del módulo
- ID: dokku-creacion-app
- Categoría: dokku
Creación y configuración de aplicación
🎯 Objetivo: crear y configurar una nueva aplicación en un servidor Dokku existente.
Verificación de Dokku
Si el servidor fue configurado previamente, debería poseer Dokku instalado y activo. Usar el siguiente comando para verificar:
dokku version
Creación de aplicación
Utilizar el nombre definido en el paso anterior “Definir nombre de aplicación”.
# Crear aplicación
dokku apps:create <app_name>
# Verificar creación
dokku apps:list
Creación de base de datos
Elegir una opción según el stack de la aplicación.
Opción A: PostgreSQL
Para el nombre, usar <app_name>-postgres.
# Crear base de datos
dokku postgres:create <app_name>-postgres
# Verificar creación de base de datos
dokku postgres:list
# Vincular base de datos a la aplicación
dokku postgres:link <app_name>-postgres <app_name>
Al vincular PostgreSQL se crea automáticamente la variable DATABASE_URL.
# Ver variable
dokku config:get <app_name> DATABASE_URL
Opción B: MongoDB
Para el nombre, usar <app_name>-mongo.
# Crear base de datos
dokku mongo:create <app_name>-mongo
# Verificar creación
dokku mongo:list
# Vincular base de datos a la aplicación
dokku mongo:link <app_name>-mongo <app_name>
Al vincular MongoDB se crea automáticamente la variable MONGO_URL.
# Ver variable
dokku config:get <app_name> MONGO_URL
Creación de Redis (opcional)
Solo si la aplicación requiere Redis, para caché, Celery u otros. Para el nombre, utilizar el mismo de la aplicación y agregar -redis al final.
# Crear Redis
dokku redis:create <app_name>-redis
# Verificar creación de Redis
dokku redis:list
# Vincular Redis a la aplicación
dokku redis:link <app_name>-redis <app_name>
Al igual que la base de datos, se cargará automáticamente una variable de entorno llamada REDIS_URL con la información de conexión de Redis. Esta variable servirá más tarde para configurar en la aplicación y se puede obtener usando dokku config:get <app_name> REDIS_URL.
Configuración de dominio y SSL
Agregar un dominio que permitirá acceder a la aplicación, configurar DNS y obtener certificados SSL.
Para asignar un dominio a la app, usar el comando:
# Agregar dominio
dokku domains:add <app_name> <dominio>
# Verificar dominio
dokku domains:report <app_name>
Luego de configurar el dominio, será necesario apuntar al servidor Dokku desde el dominio, para esto crear un registro DNS tipo A con la dirección IP del servidor Dokku.
# En Cloudflare o proveedor DNS.
# Crear registro:
Tipo: A
Nombre: <dominio> (o @ para raíz)
Contenido: <ip_servidor_dokku>
Proxy: OFF (nube gris, apagado)
# Verificar propagación, desde una terminal:
# Si el registro se ha propagado correctamente, debería mostrar la dirección IP del servidor Dokku.
dig <dominio> +short
Una vez confirmado el DNS, obtener un nuevo certificado SSL usando Let’s Encrypt.
# Configurar email
dokku letsencrypt:set <app_name> email soporte@tallerdigital.cl
# Obtener certificado
dokku letsencrypt:enable <app_name>
# Activar renovación automática
dokku letsencrypt:cron-job --add
Configuración de variables de entorno
El formato estándar para crear variables de entorno es el siguiente:
# Configurar variable de entorno
dokku config:set <app_name> <variable> <valor>