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.
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# 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=trueAuto-fetched about 23 hours ago
Auto-fetched about 23 hours ago