Keila es una herramienta de email marketing de código abierto que ofrece una alternativa sólida a plataformas como Mailchimp o Sendinblue. Diseñada para facilitar la creación, gestión y análisis de campañas de newsletters, Keila destaca por su enfoque en la privacidad, la personalización y la flexibilidad.
Características de Keila
- 🧩 100% open source (AGPLv3) y autoalojable.
- ✍️ Editor flexible de emails: visual, Markdown, texto plano y MJML.
- 🔐 Privacidad respetada: sin rastreo invasivo, con opción de desactivarlo.
- 🧠 Segmentación avanzada: por idioma, etiquetas o comportamiento.
- 🧬 Personalización con Liquid: campos dinámicos en los correos.
- 📝 Formularios personalizados: con doble opt-in y protección CAPTCHA.
- 🔁 API REST y automatización: compatible con Zapier (beta).
- 🇪🇺 Servidores en Europa si usas Keila Cloud.
- 🖥️ Interfaz moderna, clara y fácil de usar.
- 💸 Precios accesibles y descuentos para proyectos sin ánimo de lucro.
Pasos previos
Antes de comenzar con la instalación, asegúrate de cumplir con los siguientes requisitos:
- 💻 Servidor con Ubuntu 24.04 como sistema operativo base.
- 🔐 Acceso SSH al servidor.
- 🧑💻 Permisos de superusuario (root) o capacidad para ejecutar comandos con
sudo. - 🐳 Docker y Docker Compose instalados, ya que utilizaremos contenedores para desplegar la aplicación de forma rápida, aislada y reproducible.
Instalación de Docker
En caso de que Docker y Docker Compose no estén instalados en tu sistema, a continuación te mostramos cómo hacerlo de forma sencilla:

Con el entorno listo y los requisitos cumplidos, puedes continuar con el proceso de instalación.
Preparación del entorno
Para instalar Keila correctamente, primero debemos completar los siguientes pasos.
Actualización del sistema
Como primer paso, vamos a asegurarnos de que todos los paquetes del sistema estén actualizados a su última versión:
apt update
apt upgrade -yCreación del directorio
Para tener todo ordenado, crearemos un directorio donde se guardaran los datos y donde guardaremos el fichero del Docker Compose:
mkdir -p /opt/keila/ops
touch /opt/keila/.env
wget https://raw.githubusercontent.com/pentacent/keila/refs/heads/main/ops/docker-compose.yml -O /opt/keila/docker-compose.yml
wget https://github.com/pentacent/keila/blob/main/ops/Dockerfile -O /opt/keila/ops/DockerfileEditando fichero de configuración
A continuación, editamos el archivo /opt/keila/.env y reconfiguramos a nuestras necesidades
YOUR_SECRET_KEY_BASE= ""
YOUR_URL_HOST= ""
YOUR_MAILER_SMTP_HOST= ""
YOUR_MAILER_SMTP_USER= ""
YOUR_MAILER_SMTP_PASSWORD= ""
YOUR_MAILER_SMTP_FROM_EMAIL= ""SECRET_KEY_BASE: Clave secreta utilizada para firmar cookies y tokens. Debe ser una cadena larga y aleatoria, única para cada instalación (puedes generarla conopenssl rand -hex 64).DB_URL: Cadena de conexión a la base de datos PostgreSQL, con el formato:postgres://usuario:contraseña@host:puerto/nombre_basedatos.URL_HOST: Dominio o dirección IP donde se alojará Keila y desde donde se podrá acceder (ej.newsletter.tudominio.comolocalhost).MAILER_SMTP_HOST: Dirección del servidor SMTP que se usará para enviar los correos (por ejemplo,smtp.mailgun.org,smtp-relay.sendinblue.com, etc.).MAILER_SMTP_USER: Nombre de usuario para autenticarte en el servidor SMTP. Normalmente es tu dirección de correo o una clave API.MAILER_SMTP_PASSWORD: Contraseña o clave API asociada al usuario SMTP. Asegúrate de mantenerla segura.MAILER_SMTP_FROM_EMAIL: LA cuenta de correo que enviará, tiene que ser igual que el nombre del usuario para la autentificación.
MAILER_SMTP_FROM_EMAIL no está incluida por defecto en el docker-compose.yml ni en la configuración oficial de Keila. Sin embargo, es obligatoria para que la aplicación arranque correctamente, ya que define la dirección de correo que se utilizará como remitente en los emails enviados.Levantamos contenedores
Listo, ya tenemos todo, así que toca levantar el contenedor:
docker-compose up -dConfiguración de Proxy Nginx
Como la aplicación se encuentra escuchando en un puerto local (localhost), necesitaremos configurar un proxy inverso con Nginx para poder acceder a ella mediante un dominio.
Para ello, puedes seguir este tutorial donde encontrarás todos los pasos detallados:

Primer contacto con la aplicación
Una vez que hemos levantado el contenedor con Docker Compose y configurado correctamente el dominio a través de Nginx Proxy, ya podemos acceder a la aplicación desde nuestro navegador utilizando el dominio o subdominio que hayamos definido.

La primera vez que accedamos a Keila, será necesario iniciar con un usuario y contraseñas generado automáticamente. Para ello, necesitaremos visualizar los logs del contenedor:
docker logs keila_keila_1Esto mostrará algo similar a lo siguiente, incluyendo la URL que debemos visitar:
14:55:23.505 [warning] KEILA_USER not set. Creating root user with email: root@localhost
14:55:23.506 [warning] KEILA_PASSWORD not set. Setting random root user password: _3nLRwib00Nmmsy4JxHmJVUANoZ_e-UK
14:55:24.326 [info] Created root user with root@localhost
14:55:24.340 [info] Running KeilaWeb.Endpoint with cowboy 2.10.0 at 0.0.0.0:4000 (http)Iniciamos sesión con los datos proporcionados en los logs:

Más sobre ./voidNull
- 📖 Aprende todos sobre los comandos de GNU/Linux en nuestro Diccionario "De la A a la Z: Los comandos de GNU/Linux"
- 💪 ¡Forma parte de la Comunidad de ./voidNull!
- 🤖 Disfruta de todos nuestros Cursos sobre Ansible, Proxmox, Home Assistant entre otros.
- 📩 Mantente actualizado con lo último en GNU/Linux y Software Libre. Recibe nuestra Newsletter mensual.


Comentarios