Overview
Discover what makes HyperKitty powerful
HyperKitty is a **self‑hosted archiving and forum engine** that extends the GNU Mailman 3 ecosystem. Built on **Python 3** and the **Django web framework**, it exposes a REST‑style API, full HTML rendering, and a rich set of client‑side features that let developers embed list archives or repurpose the application as an independent discussion platform. Its core goal is to provide *modern, search‑friendly* archives that can be accessed without the full Mailman stack.
Archive Rendering
REST API
Search & Facets
User Interaction
Overview
HyperKitty is a self‑hosted archiving and forum engine that extends the GNU Mailman 3 ecosystem. Built on Python 3 and the Django web framework, it exposes a REST‑style API, full HTML rendering, and a rich set of client‑side features that let developers embed list archives or repurpose the application as an independent discussion platform. Its core goal is to provide modern, search‑friendly archives that can be accessed without the full Mailman stack.
Technical Stack
| Layer | Technology |
|---|---|
| Backend | Django 4.x, Python 3.10+, Celery for async tasks |
| Database | PostgreSQL (default), optional SQLite or MySQL via Django ORM |
| Search | ElasticSearch 7.x (or OpenSearch) for full‑text indexing, with fallback to PostgreSQL tsvector |
| Frontend | Django templates + Tailwind CSS, Alpine.js for interactivity; optional React front‑end via API |
| Containerization | Official Docker images, Compose files for quick deployment; supports Kubernetes via Helm charts |
| Testing | PyTest + Django TestRunner, coverage reports |
The application ships with a modular architecture: core mail‑archive logic lives in hyperkitty.core, while optional plugins (e.g., authentication backends, S3 attachment storage) are loaded via Django’s app registry. This design allows developers to swap out components or extend functionality without touching the core codebase.
Core Capabilities
- Archive Rendering – Parses raw Mbox or Maildir sources, normalizes message IDs, and builds threaded views.
- REST API –
/api/v1/lists/,/api/v1/messages/endpoints expose CRUD operations, search, and pagination. OAuth2 support via Django‑OAuth Toolkit. - Search & Facets – Powered by ElasticSearch; supports full‑text, date ranges, author filters, and attachment presence.
- User Interaction – Favoriting, threading, inline reply via AJAX; integrates with Mailman’s subscription workflow.
- Export – PDF/HTML exports per message or thread, configurable via Celery tasks.
Deployment & Infrastructure
HyperKitty is designed for bare‑metal or cloud environments. The Docker image pulls a pre‑configured Django app, but developers can also run it directly from source. Key deployment considerations:
- Database – A dedicated PostgreSQL instance is recommended for production; migrations run via
python manage.py migrate. - Search – ElasticSearch must be reachable; the app exposes a health endpoint to verify connectivity.
- Background Workers – Celery workers process indexing and export jobs; a Redis broker is required.
- Scaling – Horizontal scaling of the Django app behind a WSGI server (Gunicorn) is straightforward; ElasticSearch handles query load, while PostgreSQL can be read‑replicated.
Integration & Extensibility
HyperKitty’s plugin system lets developers hook into:
- Authentication – Support for LDAP, OAuth2, and custom backends.
- Storage – Attachments can be served from local disk, S3, or other object stores via
django-storages. - Webhooks – Expose events (new message, new thread) to external services.
- Custom Views – Override Django templates or write new view classes; the API is fully documented in Swagger UI.
The project encourages community contributions, with a clear contribution guide on GitLab and an active issue tracker. Documentation covers both end‑user usage and developer integration, including code samples (without installation commands) that illustrate how to embed HyperKitty in a larger Django project.
Use Cases
- Mailing List Archive – Replace or augment Mailman 3’s built‑in archives with a feature‑rich, searchable interface.
- Forum Replacement – Deploy HyperKitty standalone to host discussion boards with threaded messaging and attachment support.
- Compliance & Auditing – Store and search historical email data for legal or regulatory purposes, leveraging the robust indexing layer.
- Educational Platforms – Provide students with a lightweight discussion forum tied to course mailing lists.
Advantages
| Criterion | HyperKitty |
|---|---|
| Performance | ElasticSearch indexing gives sub‑second search, even on millions of messages. |
| Flexibility | Django’s ORM and plugin system allow rapid customization without rewriting core logic. |
| Licensing | GPL‑3.0 ensures freedom to modify and redistribute, suitable for open‑source projects. |
| Community | Active Fedora and Mailman communities provide long‑term support and shared expertise. |
| Deployment | Docker + Compose simplifies initial setup; Kubernetes manifests enable cloud‑native scaling. |
For developers seeking a ready‑to‑deploy mailing list archive that can also serve as a forum, HyperKitty offers a well‑structured Django codebase, powerful search capabilities, and extensibility through plugins and APIs—all backed by an active community and clear documentation.
Open SourceReady to get started?
Join the community and start self-hosting HyperKitty 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
Tags
Explore More Apps
Conduit
Lightweight Matrix server for fast, secure chats
DreamFactory
Auto‑generate secure, documented APIs for your data
Simple NixOS Mailserver
Self-hosted apis-services
Lidarr
Automated music collection manager for torrent and Usenet users
Open Source Point of Sale
Web‑based POS with inventory, invoicing and multi‑currency support
PluXml
Lightweight flat‑file CMS for portable websites
