Deploy Paperless-ngx (Self-Hosted Document Manager)

Unofficial template: scan, OCR, tag and search documents with Paperless-ngx

Deploy Paperless-ngx (Self-Hosted Document Manager)

/var/lib/postgresql/data

Just deployed

/data

Just deployed

/data

Deploy and Host Paperless-ngx (Self-Hosted Document Manager) with Railway

Paperless-ngx is an open-source document management system. It scans, OCRs, indexes and tags your paperwork (bills, receipts, letters, contracts) so you can search the full text and stop keeping paper. This template runs the official Paperless-ngx image with Postgres and Redis, persistent storage and a working Railway healthcheck.

Unofficial template, not affiliated with or endorsed by the Paperless-ngx project. Community template by Rebusque Labs. "Paperless-ngx" is used only to describe the software this template deploys.

About Hosting Paperless-ngx (Self-Hosted Document Manager)

Hosting Paperless-ngx needs three pieces: the web app (Django, plus a Celery task worker and a document consumer in the same container), a Postgres database for metadata, and Redis as the task queue. Documents, thumbnails and the search index must live on persistent storage or they vanish on redeploy. Railway allows one volume per service, so this template mounts a single volume at /data and points all three Paperless storage paths at it. It also allow-lists Railway's healthcheck host, so deploys are gated on the app really answering instead of failing with HTTP 400.

Common Use Cases

  • Go paperless at home: scan mail and receipts, find any of them by full-text search
  • Small-office document archive with users, permissions, tags and saved views
  • Email (IMAP) ingestion of invoices and statements into a searchable archive
  • Auto-tagging and filing of documents with matching rules and the built-in classifier

Dependencies for Paperless-ngx (Self-Hosted Document Manager) Hosting

  • Paperless-ngx (official image ghcr.io/paperless-ngx/paperless-ngx, pinned to 3.4.2)
  • Railway Postgres
  • Railway Redis

Deployment Dependencies

Implementation Details

  • Healthcheck: /accounts/login/, 300 s timeout. PAPERLESS_ALLOWED_HOSTS=healthcheck.railway.app lets Railway's healthcheck through (Django otherwise answers 400).
  • One volume at /data holds data/, media/ and consume/.
  • Secrets (PAPERLESS_SECRET_KEY, the first admin password) are generated per deploy; there are no default credentials.
  • Database and Redis connect over Railway private networking with reference variables.
  • After the first deploy: open the generated domain, log in as admin with PAPERLESS_ADMIN_PASSWORD from the Paperless-ngx service's Variables tab, then change the password. If you add a custom domain, update PAPERLESS_URL.
  • Sizing: in our local test the idle stack used about 0.65 GB RAM. OCR of large scans spikes CPU and RAM. Set PAPERLESS_TASK_WORKERS=1 and PAPERLESS_WEBSERVER_WORKERS=1 to keep it small.
  • Plan limits: volumes are capped at 0.5 GB per service on Trial/Free and 5 GB on Hobby. Railway disables outbound SMTP below the Pro plan, so password-reset and notification emails need Pro (or stay off).

Why Deploy Paperless-ngx (Self-Hosted Document Manager) 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 Paperless-ngx (Self-Hosted Document Manager) 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.

Credits and license

Paperless-ngx © the Paperless-ngx contributors, licensed under GPL-3.0 (https://github.com/paperless-ngx/paperless-ngx/blob/main/LICENSE). This template does not modify or redistribute Paperless-ngx source; it references the project's official container image. Template configuration © 2026 Rebusque Labs.


Template Content

More templates in this category

View Template
Rocky Linux
Hosted Rocky Linux 9 workspace with SSH and persistent storage. 🚀

codestorm
51
View Template
Foundry Virtual Tabletop
A Self-Hosted & Modern Roleplaying Platform

Lucas
71
View Template
Letta Code Remote
Run a Letta Code agent 24/7. No inbound ports, just deploy.

Letta
52