Deploy Paperless-ngx (unofficial)

Self-hosted document management with OCR (unofficial Paperless-ngx)

Deploy Paperless-ngx (unofficial)

Just deployed

paperless-db

postgres:18.6

Just deployed

/var/lib/postgresql/data

Just deployed

/data

Deploy and Host Paperless-ngx (unofficial) on Railway

Paperless-ngx is a self-hosted document management system: scan or upload documents, OCR them, tag them and search everything. This is an unofficial template, not affiliated with the Paperless-ngx project. Paperless-ngx is licensed under GPL-3.0; this template deploys the unmodified official image (upstream source: https://github.com/paperless-ngx/paperless-ngx).

About Hosting Paperless-ngx (unofficial)

This template deploys the official paperless-ngx image pinned to 3.2.1, together with PostgreSQL 18.6 and Valkey 9.1.2. One container runs the web server and the background workers. Documents and the search index live on one persistent volume mounted at /data, and the database has its own volume. An admin account is created on first start with a generated password: find it in the PAPERLESS_ADMIN_PASSWORD variable on the paperless-ngx service (Variables tab) and change it after your first login. Changing the variable later does not change the password of an existing account. Uploads work through the web UI, the mobile apps and the API. The consume folder and the default export folder are not persistent on Railway, so the folder-watching consumer is disabled; to export or back up, run document_exporter /data/export through railway ssh and copy the files out. Volume size limits depend on your Railway plan (0.5 GB Trial, 5 GB Hobby, 50 GB Pro) and a document archive grows quickly (Paperless keeps an original and an archived PDF per document). Volumes also mean this service cannot use replicas, and redeploying it causes brief downtime.

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 a Paperless-ngx feature, and this template makes no claim about encryption inside Railway's network or about the security of Paperless-ngx itself. The bundled Valkey has no password and no public domain.

Common Use Cases

  • Turn scanned paper and PDFs into a searchable, tagged archive with OCR
  • Keep household or small-business paperwork (invoices, receipts, letters) in one place you control
  • Upload documents from the web UI, the mobile apps or the API and find them later with full-text search

Dependencies for Paperless-ngx (unofficial) Hosting

  • PostgreSQL 18.6 (bundled, with its own volume)
  • Valkey 9.1.2 (bundled task broker, no volume)
  • One persistent volume for documents and the search index

Implementation Details

  • Login: username admin, password from the PAPERLESS_ADMIN_PASSWORD variable.
  • "Bad Request (400)": your hostname is not in PAPERLESS_ALLOWED_HOSTS. Add your custom domain to the comma-separated list (keep healthcheck.railway.app, no spaces). For a custom domain also set PAPERLESS_URL to https://.
  • Consume folder: not available (no persistent drop folder). Upload through the web UI, the API or mail rules.
  • OCR is CPU and RAM hungry. Upload smaller batches, or raise the service memory on a paid plan. PAPERLESS_TASK_WORKERS and PAPERLESS_WEBSERVER_WORKERS (default 1) multiply memory.
  • Other OCR languages: set PAPERLESS_OCR_LANGUAGE (for example deu); for languages beyond English, German, French, Italian and Spanish also set PAPERLESS_OCR_LANGUAGES.
  • Upgrading: bump the image tag and read the upstream release notes first; Paperless migrates on start. Pin the tag, do not use latest. Postgres major upgrades need a dump and restore.

Why Deploy Paperless-ngx (unofficial) 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 (unofficial) 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

More templates in this category

View Template
Garage S3 Storage
Ultra-light S3 server: fast, open-source, plug-and-play.

PROJETOS
8
View Template
Redis
Self Host Latest Redis with Railway

8
View Template
EasyImg
Simple self-hostable Nuxt.js personal image hosting system.

Muhammad Bilal
0