Favicon of Keila

Keila

Manage contact lists and design personalized campaigns with a privacy-first, open-source email platform. Maintain full control over your subscriber data.

Manage and grow your contact lists while designing personalized newsletter campaigns with a reliable, open-source platform. Whether you prefer a visual block editor, Markdown, MJML, or plain text, you have the flexibility to create emails that look great on any device. Maintain complete ownership of your subscriber data with privacy-friendly analytics and no vendor lock-in.

  • Flexible design options: Build campaigns using a visual editor, Markdown, or custom MJML layouts.
  • Advanced personalization: Use custom data fields and Liquid templates to tailor messages for every subscriber.
  • Privacy-first analytics: Track campaign performance while respecting user privacy, or disable tracking entirely.
  • Robust form builder: Create custom sign-up forms protected by captcha and double opt-in verification.
  • Powerful segmentation: Target specific audience subsets based on custom tags and language preferences.

Directory Structure

keila
db-data
.env
docker-compose.yml

docker-compose.yml

services:
  keila:
    image: pentacent/keila:latest
    restart: unless-stopped
    ports:
      - "4000:4000"
    environment:
      URL: ${KEILA_URL}
      DB_URL: postgres://${POSTGRES_USER}:${POSTGRES_PASSWORD}@db:5432/${POSTGRES_DB}
      SECRET_KEY: ${SECRET_KEY}
      MAIL_ADAPTER: ${MAIL_ADAPTER}
      SMTP_HOST: ${SMTP_HOST}
      SMTP_PORT: ${SMTP_PORT}
      SMTP_USER: ${SMTP_USER}
      SMTP_PASSWORD: ${SMTP_PASSWORD}
      SMTP_TLS: ${SMTP_TLS}
    depends_on:
      - db

  db:
    image: postgres:15
    restart: unless-stopped
    environment:
      POSTGRES_USER: ${POSTGRES_USER}
      POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
      POSTGRES_DB: ${POSTGRES_DB}
    volumes:
      - ./db-data:/var/lib/postgresql/data

.env

# Keila Configuration
KEILA_URL=http://localhost:4000
# Generate a secure random string (e.g. `openssl rand -base64 64`)
SECRET_KEY=replace_with_a_long_secure_random_string

# Database Configuration
POSTGRES_USER=keila
POSTGRES_PASSWORD=secure_database_password
POSTGRES_DB=keila

# Mail Configuration (SMTP)
MAIL_ADAPTER=swoosh_smtp
SMTP_HOST=smtp.example.com
SMTP_PORT=587
SMTP_USER=your_smtp_user
SMTP_PASSWORD=your_smtp_password
SMTP_TLS=true

Share:

Ad
Favicon

 

  
 

Similar to Keila

Favicon

 

  
  
Favicon

 

  
  
Favicon