Deploy Open Archiver
Self-hosted email archiving with full-text search (unofficial)
open-archiver-meilisearch
Just deployed
/meili_data
open-archiver-valkey
Just deployed
open-archiver-db
Just deployed
/var/lib/postgresql/data
open-archiver
Just deployed
/var/data/open-archiver
Deploy and Host Open Archiver on Railway
Open the URL right away and create your admin account. The first visitor to /setup becomes the administrator, and there is no bootstrap-admin variable. Do this before you share the link, and preferably attach a custom domain first.
Open Archiver is a self-hosted email archive with full-text search. Connect IMAP, Google Workspace or Microsoft 365, or import PST, EML and mbox files; mail is stored as .eml files, indexed in Meilisearch and searchable, including common attachment types. This template deploys the official logiclabshq/open-archiver image pinned to v0.6.0 (open-source edition). Unofficial template, not affiliated with Open Archiver or LogicLabs.
About Hosting Open Archiver
Four services run in your project (open-archiver, open-archiver-db and open-archiver-meilisearch each have a volume; the Valkey queue has none): open-archiver (web UI, API and background workers, port 3000), open-archiver-db (Postgres 17), open-archiver-valkey (job queue) and open-archiver-meilisearch (search, pinned to v1.38). Passwords, JWT_SECRET, ENCRYPTION_KEY and STORAGE_ENCRYPTION_KEY are generated for you. Back up ENCRYPTION_KEY and STORAGE_ENCRYPTION_KEY from the Variables tab and never change them: they protect stored mailbox credentials and archived mail on disk, and losing them means losing access to that data.
Local storage is limited by the volume size (5 GB on Hobby, 50 GB on Pro), and the template uses 3 volumes (app storage, Postgres and Meilisearch), which fits Railway's Trial plan limit of 3 per project. Valkey has no volume, so queue state is not kept across restarts. For larger archives switch STORAGE_TYPE to s3 and add the STORAGE_S3_* variables described in the upstream docs. Enterprise-only features (audit log, legal holds, retention policies, journaling, SSO) are not in the open-source image.
Common Use Cases
- Keep a searchable copy of a personal or small-team mailbox
- Import old PST, EML or mbox exports into one searchable place
- Continuously sync an IMAP, Google Workspace or Microsoft 365 mailbox
Dependencies for Open Archiver Hosting
- logiclabshq/open-archiver:v0.6.0 (open-source edition; never use the -enterprise tags)
- postgres:17-alpine
- valkey/valkey:8-alpine
- getmeili/meilisearch:v1.38 (Meilisearch data is only compatible with the version that created it; do not bump casually)
Implementation Details
HTTPS. Railway terminates TLS at its edge for generated *.up.railway.app domains and custom domains (certificates are provisioned automatically), and redirects plain HTTP GET requests to HTTPS. This is Railway's platform behaviour, not an Open Archiver feature, and this template makes no claim about encryption inside Railway's network or about the security of Open Archiver itself.
Your data. This tool stores email. You are the operator of that data, and this template makes no compliance promises of any kind.
After the first visit. Ingestions, Create New, pick a source. For IMAP use port 993 and an app password. OAuth sources need https:///api/v1/oauth/callback registered with the provider. If you add a custom domain, update APP_URL and ORIGIN to match.
FAQ / troubleshooting
- I see a login page, not the setup page. Upstream says something is wrong with the database. Check open-archiver-db is running and DATABASE_URL points at it, then restart the app.
- Someone else created the admin account. A redeploy is not enough. Delete the open-archiver-db volume data (or the service and its volume) and redeploy, then open the URL first.
- First boot takes a minute or more. The container runs pnpm install (which needs the npm registry) and database migrations on every start, so wait for the app to come up before opening the URL; a 502 in the meantime is normal.
- Search returns nothing or indexing is stuck. Check open-archiver-meilisearch is up and MEILI_MASTER_KEY matches on both services. Large mailboxes index in the background; watch the app logs.
- Out-of-memory restarts during import. Lower MEILI_INDEXING_CHUNK or INDEXING_WORKER_CONCURRENCY, or upload smaller files. Upstream recommends about 4 GB RAM for the bundled stack.
- Volume full. Local storage is capped by the volume. Switch STORAGE_TYPE to s3 for new data.
- Redis "WRONGPASS" errors. Do not set REDIS_USER; the default user is used.
- Can't upload a huge PST. Raise BODY_SIZE_LIMIT (for example 1G) or use the Local Path ingestion option.
- Enterprise pages say "Enterprise Edition". Expected: those features are not part of the open-source image.
- Upgrading. Bump the open-archiver image tag. Meilisearch upgrades need a manual data migration (see the upstream docs).
Why Deploy Open Archiver on Railway?
Railway is a singular platform to deploy your infrastructure stack. Railway will host your infrastructure so you don't have to deal with configuration, while allowing you to vertically and horizontally scale it.
By deploying Open Archiver on Railway, you are one step closer to supporting a complete full-stack application with minimal burden. Host your servers, databases, AI agents, and more on Railway.
Template Content
open-archiver-meilisearch
getmeili/meilisearch:v1.38open-archiver-valkey
valkey/valkey:8-alpineopen-archiver-db
postgres:17-alpineopen-archiver
logiclabshq/open-archiver:v0.6.0