Creación y configuración de aplicación

Módulo: dokku

Taller Digital

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>