Allow specifying local file path for mbox/eml/pst #121

Closed
opened 2026-04-05 16:16:38 +02:00 by MrUnknownDE · 0 comments
Owner

Originally created by @mrbrdo on 10/30/2025

I added the option to specify a local file path instead of uploading a file for mbox/eml/pst ingestion. I only added the capability to the API and not on the frontend, but that could be easily added.

Seems to be working, I am still waiting after several hours to finish on my 13GB google takeout mbox file. (it seems the process is so intensive that I am basically unable to access the server even by SSH, but I can see in the hypervisor it is doing something, especially disk i/o).

Please note the code was mostly generated by AI (Claude/opencode), I also checked it roughly, although I am no typescript expert.

Here is an example API call by curl to use it (find Bearer token from some request in the browser):

curl -X POST http://localhost:3000/api/v1/ingestion-sources \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_JWT_TOKEN" \
  -d '{
    "name": "My Mbox Import",
    "provider": "mbox_import",
    "providerConfig": {
      "type": "mbox_import",
      "localFilePath": "/path/to/emails.mbox"
    }
  }'

Here is a precompiled version of MboxConnector.js that one could overwrite in the docker container (+restart), if someone wanted to quickly test it (v0.4.0): https://gist.github.com/mrbrdo/a5061ddbe3502820da206e6180b95f33

Related to https://github.com/LogicLabs-OU/OpenArchiver/issues/120

*Originally created by @mrbrdo on 10/30/2025* I added the option to specify a local file path instead of uploading a file for mbox/eml/pst ingestion. I only added the capability to the API and not on the frontend, but that could be easily added. Seems to be working, I am still waiting after several hours to finish on my 13GB google takeout mbox file. (it seems the process is so intensive that I am basically unable to access the server even by SSH, but I can see in the hypervisor it is doing *something*, especially disk i/o). Please note the code was mostly generated by AI (Claude/opencode), I also checked it roughly, although I am no typescript expert. Here is an example API call by curl to use it (find Bearer token from some request in the browser): ``` curl -X POST http://localhost:3000/api/v1/ingestion-sources \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_JWT_TOKEN" \ -d '{ "name": "My Mbox Import", "provider": "mbox_import", "providerConfig": { "type": "mbox_import", "localFilePath": "/path/to/emails.mbox" } }' ``` Here is a precompiled version of MboxConnector.js that one could overwrite in the docker container (+restart), if someone wanted to quickly test it (v0.4.0): https://gist.github.com/mrbrdo/a5061ddbe3502820da206e6180b95f33 Related to https://github.com/LogicLabs-OU/OpenArchiver/issues/120
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github/OpenArchiver#121