Overview
Discover what makes Keila powerful
Keila is a self‑hosted, open‑source platform that consolidates newsletter creation, contact list management, and email delivery into a single, developer‑friendly stack. Built with modern web technologies, it exposes a RESTful API and WebSocket endpoints that allow tight integration with external services or custom front‑ends. The core engine is written in **Go**, leveraging the high concurrency model for handling large volumes of email dispatches, while the front‑end is a **React** application powered by **TypeScript** and **Tailwind CSS**, ensuring type safety and rapid UI iteration. Data persistence relies on a relational database (PostgreSQL by default) with optional support for **SQLite** in lightweight deployments, and the application can be extended via a plugin architecture that follows Go’s `plugin` package conventions.
Backend
Frontend
Database
Email Delivery
Overview
Keila is a self‑hosted, open‑source platform that consolidates newsletter creation, contact list management, and email delivery into a single, developer‑friendly stack. Built with modern web technologies, it exposes a RESTful API and WebSocket endpoints that allow tight integration with external services or custom front‑ends. The core engine is written in Go, leveraging the high concurrency model for handling large volumes of email dispatches, while the front‑end is a React application powered by TypeScript and Tailwind CSS, ensuring type safety and rapid UI iteration. Data persistence relies on a relational database (PostgreSQL by default) with optional support for SQLite in lightweight deployments, and the application can be extended via a plugin architecture that follows Go’s plugin package conventions.
Architecture
- Backend – Go 1.22, Gorilla Mux for routing, GORM for ORM, and a custom SMTP/SES/Mailgun/Postmark adapter layer. The service exposes JSON‑API endpoints for campaigns, lists, and statistics, while a WebSocket channel streams real‑time delivery metrics.
- Frontend – React 18, Vite build tool, TypeScript, and a block‑based editor built on top of MJML for responsive email templates. The editor supports Markdown, WYSIWYG editing, and raw MJML, giving developers the freedom to choose their preferred workflow.
- Database – PostgreSQL (recommended) with optional SQLite for single‑node or CI environments. The schema is auto‑migrated via GORM, and the application ships with a seed script for initial data.
- Email Delivery – A pluggable transport layer that supports raw SMTP, AWS SES, SendGrid, Mailgun, and Postmark. Each provider can be configured via environment variables or a UI form, allowing developers to swap providers without code changes.
- Containerization – A multi‑stage Dockerfile produces a slim Alpine image (
pentacent/keila) that runs the Go binary and serves static assets. The repo also includes a ready‑to‑usedocker-compose.ymlthat wires the API, front‑end, PostgreSQL, and optional Redis for rate limiting.
Core Capabilities
- Campaign Management – Create, schedule, and send campaigns with granular targeting (list segmentation, custom fields).
- Editor APIs – Expose editor state via JSON for integration with external content management systems or custom editors.
- Webhook Support – Register callbacks for delivery events (open, click, bounce) and subscriber actions (unsubscribe, double opt‑in).
- Analytics – Real‑time dashboards and exportable CSV reports; privacy‑first design allows disabling tracking pixels.
- Plugin System – Load Go plugins at runtime to add new transport adapters, authentication backends, or custom reporting modules.
- Extensibility – Public REST endpoints for CRUD operations on lists, subscribers, and templates; GraphQL support is planned in future releases.
Deployment & Infrastructure
Keila’s lightweight image (~80 MB) can run on any Linux distribution that supports Docker or Podman. For production, the recommended stack is:
- Docker Swarm / Kubernetes – Deploy the API and front‑end as separate services, scaling horizontally behind a load balancer.
- PostgreSQL Cluster – Use Patroni or PgBouncer for high availability and connection pooling.
- Redis – Optional, for job queues (Celery‑style) and rate limiting of email sends.
- TLS Termination – Let an external reverse proxy (NGINX, Traefik) handle HTTPS; Keila itself serves over HTTP within the cluster.
- Backup Strategy – Regular PostgreSQL dumps and persistent volume snapshots; the Docker image exposes a
/backupendpoint for automated exports.
Integration & Extensibility
Developers can embed Keila’s editor into their own portals via an iframe or the provided React component library. The API supports OAuth2 authentication, making it easy to integrate with existing identity providers. Custom webhook endpoints allow downstream systems (CRM, analytics) to react instantly to subscriber actions. The plugin architecture lets teams write Go modules that hook into the email dispatch pipeline, enabling features like custom throttling or AI‑generated subject lines without modifying core code.
Developer Experience
- Documentation – A comprehensive docs site (docs.keila.io) covers API reference, plugin development guides, and deployment best practices.
- Community – Active GitHub discussions, a public Mastodon handle, and sponsorship options foster rapid issue resolution.
- Configuration – Environment‑driven config (dotenv, Kubernetes secrets) keeps credentials out of source control.
- Testing – The repository includes unit and integration tests with a GitHub Actions CI pipeline that runs on every push, ensuring regression safety.
Use Cases
- Open‑Source Projects – Maintain a mailing list for contributors and release notes while keeping all data on-premises.
- Enterprise Intranet – Distribute internal newsletters with GDPR‑compliant tracking, hosted entirely within the corporate network.
- SaaS Products – Offer a self‑hosted newsletter module as part of a larger product suite, leveraging Keila’s API for seamless integration.
- Event Organizers – Manage registrations and send event updates via email, using Keila’s segmentation to target attendees by session interest
Open SourceReady to get started?
Join the community and start self-hosting Keila today
Related Apps in apis-services
Mastodon
Decentralized, real‑time social networking
Discourse
Open‑source community forum platform with real‑time chat and AI
Rocket.Chat
Secure, open‑source team communication platform
Novu
Unified notification platform for multi‑channel delivery
Mattermost
Secure, self‑hosted team collaboration with chat, voice, and AI
Jitsi Meet
Free, encrypted video conferencing for everyone
Weekly Views
Repository Health
Information
Explore More Apps
Phorge
Self-hosted development-tools
Wekan
Open‑source Kanban board for collaborative project tracking
Django-CRM
Open‑source CRM built on Django for full control and rapid customization
Open Source Social Network (OSSN)
Build a vibrant, multilingual community platform
Seerr
Self-hosted media request manager for Jellyfin, Plex, and Emby
Grist
Hybrid database‑powered spreadsheet for modern data work
