I built an open-source email archiving tool with full-text search ability
Posted by weisineesti@reddit | linuxadmin | View on Reddit | 13 comments
Hey admins,
I’d like to share an open-source email archiving tool I’ve created that you might find helpful.
So the backstory is that I run a small software company here in Estonia, and we use Google Workspace for all of our emails and financial documents. One day, I had this paranoia that what if we lost access to our Google Workspace due to some vendor abnormalities (which is not even rare to happen).
So I built this open source tool that helps individuals and organizations to archive their whole email inboxes with the ability to index and search these emails.
The tool is called Open Archiver, and it has the ability to archive emails from cloud-based email inboxes, including Google Workspace, Microsoft 365, and all IMAP-enabled email inboxes. You can connect it to your email provider, and it copies every single incoming and outgoing email into a secure archive that you control (Your local storage or S3-compatible storage).
Here are some of the main features:
- Comprehensive archiving: It doesn't just import emails; it indexes the full content of both the messages and common attachments.
- Organization-Wide backup: It handles multi-user environments, so you can connect it to your Google Workspace or Microsoft 365 tenant and back up every user's mailbox.
- Powerful full-text search: There's a clean web UI with a high-performance search engine, letting you dig through the entire archive (messages and attachments included) quickly.
- You control the storage: You have full control over where your data is stored. The storage backend is pluggable, supporting your local filesystem or S3-compatible object storage right out of the box.
- API-Driven: The whole application is built on a REST API, so you can integrate with it programmatically if you need to.
You can find the project on GitHub (Demo site available): https://github.com/LogicLabs-OU/OpenArchiver
Would love any feedback you may have, I'm open to discussions!
alexrada@reddit
this is useful. Saving it for later.
shto1337@reddit
Because i'm using https://github.com/GAM-team/got-your-back to backup my gmail, can it read/parse EML files?
weisineesti@reddit (OP)
Yes, you can upload a zip of eml files and have them indexed
danfossi@reddit
Very interesting project!! Are there (or planned) permissions to separate who can see what?
weisineesti@reddit (OP)
Yes, role based access is a planned feature and a priority of our development
danfossi@reddit
This is huge!! I manage many dozens of mail servers and thousands of users, I'm happy to be a tester!
devoopsies@reddit
This looks interesting, but I'm curious how it differs from tools like Mailpiler. which IMO is kinda the gold-standard in this space?
weisineesti@reddit (OP)
I think for now the most important improvement is organization wise ingestion of emails, and full text search. In the future there will be eDiscovery features.
ASK_ME_AB0UT_L00M@reddit
This is excellent. My inbox goes back to 2003 and this would go a long way towards making those old messages accessible without leaving them in IMAP.
How difficult is it to update an archive? Ideally I expect I'd want to keep 6-12 months of email on the mail server and I'd age off data into the archive.
weisineesti@reddit (OP)
Hi, it only saves emails to the archive, but can’t delete emails in your email server. You have to use another tool to delete old emails.
ASK_ME_AB0UT_L00M@reddit
Good to know! That sounds like a feature, not a bug. Leaving the deletion to the user is the right choice.
chocopudding17@reddit
Definitely a nice-looking project! An important thing to have. Vibe coded?
weisineesti@reddit (OP)
Nay, see our disclaimer here: https://www.reddit.com/r/selfhosted/comments/1mhdey6/i_built_an_opensource_email_archiving_tool_with/
Disclaimer about the use of AI: I've noticed that there is an ongoing discussion on this sub about projects using AI. I'd like to point out that some of the code in the project is written with the help of AI. However, the use of AI is limited to coding assistance, as I myself am a full-stack developer with 5 years of experience. Here is how I used AI in the project: