Download emails from IMAP accounts, build a full-text search index, and access everything through a REST API with an embedded WebUI. Built for long-term preservation.
2.1k GitHub stars · 1,249,839 Docker pulls · Zero external dependencies
Quick Start
The frontend, API, and search engine are all bundled inside a single statically-linked binary. Just download and run.
# Linux / macOS
./bichon \
--bichon-root-dir /data/bichon \
--bichon-encrypt-password your-password
# Windows
.\bichon.exe \
--bichon-root-dir E:\bichon-data \
--bichon-encrypt-password your-passworddocker run -d \
--name bichon \
-p 15630:15630 \
-v ./bichon-data:/data \
-e BICHON_ROOT_DIR=/data \
-e BICHON_ENCRYPT_PASSWORD=your-password \
rustmailer/bichon:latestOpen http://localhost:15630 in your browser. Default login: admin / admin@bichon
Features
Purpose-built for long-term preservation, unified search, and programmatic access.
Concurrent downloads with password or OAuth 2.0 login (Gmail, Outlook, Yahoo presets). UID-based incremental fetching, automatic UIDVALIDITY rebuilds, cron schedules, per-account SOCKS5 proxy, gap-fill repair runs, and archive scoping — date cutoffs and folder include/exclude rules.
Close the window IMAP polling can't: receive email at delivery time with STARTTLS or implicit TLS into local NoSync accounts. Mail that gets deleted from the source mailbox before a sync ever runs still lands in the archive.
Search across subject, body, sender, and recipients with date, size, and attachment filters. Faceted tags, thread grouping, contacts view, and saved searches.
Incremental backups to any S3-compatible store (AWS S3, MinIO, R2) with content-addressed objects, per-restore-point manifests, retention policies, and scheduling.
5 built-in roles plus custom roles with 27 granular permissions. TOTP two-factor authentication and API token management.
Import EML, MBOX, PST, and Thunderbird profiles via CLI or WebUI. Export to MBOX — entire accounts or saved-search results.
Interactive API docs at /api-docs with Swagger UI, ReDoc, Scalar, and OpenAPI Explorer. Every endpoint fully documented.
Identical email bodies and attachments stored once via BLAKE3 content hashing. Zstd compression across blob storage and full-text indices.
Dashboard analytics, dark/light themes, and remote-content blocking. Language preference saved per user.
Community
“Exactly what been after, thank you very much for what you've made and do :)”
“Thanks. Bichon is really nice.”
“Bichon is exactly what I have been searching for years! Thank you so much!”
“Bichon is excellent project. Keep up the great work.”
“Best Mail archiver I've found. Thanks!”
“Awesome project, keep it up :)”
“Thanks for making Bichon. It's been heartening to see so many mail archiving solutions become available in recent years. Bichon is fit for purpose for my needs — web based access to my archive, slim in scope, and works for both my current provider as well as ingesting my backups from previous providers.”
“Great Work! Fast and efficient, and a nice user interface. All I require to move away from my current proprietary archiving solution is a means of bulk exporting emails from bichon. I see it's on the road map. Looking forward to it!”
“Bichon is bitchin!”
“I archived a bunch of emails a while back using another app that was painfully slow, and I had been hoping someone would eventually build something like this in Rust. Your app was the first result I found, and it works flawlessly. The fact that it can even import my old data so I can just use Bichon is amazing. Thank you so much for building this.”
“Top software, Thanks”
“Thanks for Bichon, it is great!”
“It's a absolute great project for archiving mails. Many thanks 🙏”
“I just imported all my old email backups, and everything is working amazingly! Thank you for creating Bichon; I love it!”
“Couldn't be more happy with Bichon, it's awesome 🫶”
“Bichon is amazing, I can now agregate all emails from all mailboxes in one application and use it via browser on any device.”
“Bichon is an excellent program. Simple and fast. It does what it is supposed to do.”
“Great work. I'm impressed by how fast bichon searches my twenty-year archive of email messages from a lightweight synology docker instance.”
“Great tool and saved me a lot of headache backing up and archiving many accounts across many providers”
Scale
A single binary. Millions of emails. No compromises.
One package — server, CLI, and admin tooling. Frontend, API, and search engine fully embedded.
Messages on a single instance, across TB-level archives.
External dependencies. No PostgreSQL, no Elasticsearch, no Redis.
Millions of individual files exhaust inodes and offer no search. Bichon deduplicates bodies and attachments by BLAKE3 hash, then compresses with Zstd.
Raw emails in a relational database bloat tables and kill query performance. Bichon separates metadata, full-text index, and blobs into three purpose-built layers.
Memory-safe, predictable latency, no GC pauses. Tantivy-powered search with a fully-documented OpenAPI 3.0 REST API.
Why the architecture matters — and where file-per-EML, database-per-message, and multi-component designs break at scale — is covered in the architecture design notes.
Pro & Enterprise
Community keeps every core archiving feature free forever — paid editions only add features. What they add is what regulated teams need: proof, governance, and integrations. The one commercial boundary is the account count: Community is unlimited, while Pro and Enterprise licenses are sized by accounts.
For teams that must prove their archive is intact — and connect it to the rest of their stack.
The compliance suite: for organizations where email is a record — with retention duties, evidence, and access governance.
Feature-by-feature comparison lives in the editions documentation. Paid editions add features; the account count is the one commercial boundary (Community is unlimited, paid licenses are sized by accounts).
Pricing
Community is free forever and battle-tested in production. Pro and Enterprise are in early access — we onboard early customers directly. Every paid license is perpetual; the first 12 months of updates are included, and continuing updates from year two is an annual subscription.
Step 1
Your license does not expire for the release you purchase. Your deployment keeps running offline, without an activation server.
Step 2
The first year includes every new release, plus email support directly from the developers.
Step 3
From year two, an annual update subscription keeps new releases coming. If you don't renew, you keep running the release you already have.
Self-hosted, all core archiving features.
For teams that need verification and integrations.
We're onboarding the first teams directly. Perpetual license, with an annual update subscription from year two — pricing tailored to your deployment.
The full compliance suite, on top of Pro — same binary, unlocked by license.
Compliance deployments vary — we scope retention, legal hold, and SIEM with your team. Perpetual license, with an annual update subscription from year two.
Every paid license is perpetual and sized by the mailboxes you archive — never by users. Updates from year two are an annual subscription; there are no per-seat fees, and your data lives on your own hardware.
Early-access customers receive the exact update and renewal terms in their quote. All purchases are subject to our Terms of Service and Commercial License Terms.
FAQ
Community is free forever and includes all core archiving features: IMAP download, full-text search, RBAC, import/export, S3 backup, and the embedded SMTP receiver for local NoSync accounts. Pro adds verification, capture, and integrations: audit log with hash chain, integrity checks, PDF/Word attachment search, SMTP journaling, OIDC SSO, analytics, the built-in IMAP server, MCP, and branding. Enterprise adds the compliance suite: legal hold, GDPR erasure requests, RFC 3161 timestamp anchoring, SIEM forwarding, dual control, and LDAP. See the full comparison in the docs.
Pro and Enterprise are in early access and we onboard customers directly, so pricing is tailored to each deployment rather than published yet. Every paid license is perpetual and sized by the mailboxes you archive — never per user. The first 12 months of updates are included; from year two, an annual update subscription keeps new releases coming. The exact renewal terms are confirmed in each quote, and all purchases are subject to our published Terms of Service and Commercial License Terms. Community is free forever.
Your current deployment keeps running on the release you already have, with the features you paid for. You won't receive new releases until you renew the update subscription. License validation is offline; there is no activation server.
By the mailboxes you archive: every account counts — IMAP accounts you sync, local/NoSync accounts used for imports or SMTP delivery, and View accounts. WebUI users and admins are unlimited — there are no per-seat fees.
Yes — if your archive grows past your license, you move up by paying the difference, and your 12-month update window restarts from the upgrade date.
No. Bichon is an archiver, not an email client. It does not send, compose, forward, or reply to emails. Its optional SMTP server is for receiving emails only.
Not by default. IMAP sync itself is read-only: it fetches copies and never deletes, moves, or marks anything in the source mailbox. The separate Source Mailbox Cleanup feature is the exception — when you explicitly enable it, Bichon moves already-archived mail into a `bichon_auto_created_trash` folder on the source server; it never permanently deletes it. Leave cleanup disabled if the source must remain untouched.
Incremental sync fetches everything still on the server, and a gap-fill repair run diffs each remote folder against your archive and re-downloads anything that was missed. The one window IMAP can never cover is a message deleted from the source mailbox before Bichon's first sync. The embedded SMTP receiver in Community covers that for addresses you have set up as local NoSync accounts: enable it and deliver to those addresses at delivery time. For a whole tenant — every message captured at a single journal address, including BCC and internal mail — Pro's SMTP journaling is the feature to use.
Yes. Bichon supports OAuth 2.0 (SASL XOAUTH2) with built-in presets for Gmail, Outlook/Office 365, and Yahoo — including automatic token refresh, so 2FA-enabled accounts work without app passwords. Classic password login (PLAIN/LOGIN) is also supported for other providers.
Stored credentials (IMAP passwords, OAuth tokens) are encrypted with AES-256-GCM, with the key derived from your BICHON_ENCRYPT_PASSWORD. Email content itself is stored compressed (Zstd) but not encrypted at rest — run Bichon on an encrypted volume if you need full data encryption.
Use bichon-cli to import EML directories, MBOX files (including Google Takeout exports), Thunderbird profiles, and Outlook PST files. For smaller sets, the WebUI accepts EML, MBOX, and PST uploads directly. All imports run server-side with automatic deduplication.
Bichon ships a native backup engine that writes incremental, content-addressed backups to any S3-compatible store — AWS S3, MinIO, Cloudflare R2 — or to a local directory on a volume you control, with per-restore-point manifests, retention policies, and scheduling, all configurable from the WebUI.
No. Bichon has no trash or soft-delete — deletion is permission-gated and permanent, and the only way back is a backup restore (e.g. from your S3 restore points). The restore feature in the WebUI is something else: it pushes messages that still exist in the archive back to their source IMAP server, which is useful for moving archived mail into a live mailbox again, not for undoing deletions. On the Pro edition, every delete is additionally recorded in the tamper-evident audit log.
For 10+ accounts and 200+ GB of archived data, we recommend 4+ CPU cores and 2+ GB RAM. Place indices on SSD for fast search — blobs can live on HDD. Use ext4 or XFS and avoid network filesystems (NFS, SMB) for the data directory.
Yes. Set BICHON_BASE_URL to your sub-path (e.g. /bichon) and configure nginx, Caddy, or Traefik to proxy to localhost:15630. It runs fine in Docker alongside other services.
Open source, self-hosted, and built for the long term.
Partner Program
MSPs, IT consultancies, hosting providers, and archiving specialists — refer, resell, or run Bichon as a managed service. We're onboarding partners worldwide.