Why a server of your own
Paperless-ngx's README says it should never run on an untrusted host, because documents are stored in clear text. This template runs it on a dedicated server that holds your Project and its apps.
Paperless-ngx hosting on Selfhost.dev puts Paperless-ngx, PostgreSQL 16 and Redis on a dedicated server we provision, secure and run. You set the admin credentials before launch; Paperless-ngx creates the account during its first boot. Scanned PDFs and images become searchable text through OCR as they arrive.
Three containers on one server. No storage plan, no fee per document.
Paperless-ngx is an open source document manager. It reads scans and PDFs with OCR, tags them by your rules and makes every word searchable. Paperless-ngx hosting is the server, database and HTTPS it runs on, because the project sells no hosted version.
People and small offices keeping tax papers, contracts and receipts in one searchable archive they control.
When your documents should sit on a server of your own, not on a plan priced by storage. If you want Paperless itself run for you and your archive is small, a hosted plan fits better.
Paperless-ngx Docker Compose setups run the app beside a database and Redis, then leave you the secret key, the admin user and the site URL. This template runs Paperless-ngx 3.1.0 with PostgreSQL 16 and Redis 7 as three containers, with all of it set before the first boot.
You, your scanner and your mail inbox
TLS and routing
Paperless-ngx 3.1.0
PostgreSQL 16
Redis 7
paperless-media
Secret key
| Component | Image | What it does |
|---|---|---|
| Paperless-ngx | paperlessngx/paperless-ngx:3.1.0 | The web app plus its OCR and consume workers |
| PostgreSQL | postgres:16-alpine | Document metadata, tags and users, on major version 16 |
| Redis | redis:7-alpine | The broker that queues OCR jobs, on major version 7 |
| Volumes | paperless-media, paperless-data, paperless-consume, paperless-export | The archive, app data, an intake folder and an export folder |
Self hosted Paperless-ngx setups fail in three quiet ways: no seeded admin account when the login is left unset, a missing secret key that prevents startup and blocked saves when the site URL misses your domain. This template sets all three before the first boot.
| Self hosting Paperless-ngx by hand | Paperless-ngx on Selfhost.dev |
|---|---|
Leave PAPERLESS_ADMIN_USER unset and no admin account exists | Your admin login is set in the console before launch |
No PAPERLESS_SECRET_KEY, so Paperless-ngx 3.1.0 refuses to start | The key is generated once and kept across redeploys |
A PAPERLESS_URL that misses your domain, so every save returns 403 | It follows your live domain, so forms and uploads save |
| Pick a database; SQLite locks when OCR workers write at once | PostgreSQL 16 and Redis 7, wired before the first boot |
| Put a proxy and a certificate in front | HTTPS per hostname, renewed for you; only 22, 80 and 443 open |
Paperless-ngx's README says it should never run on an untrusted host, because documents are stored in clear text. This template runs it on a dedicated server that holds your Project and its apps.
Paperless-ngx server requirements here are three containers plus room for your archive. OCR is the heavy part, so the template counts as a heavy workload and 8 GB is the size we recommend. Originals and generated searchable copies share the server disk with the database, containers and operating system. Leave room for those as well as archive growth.
Three containers, one server, no compose file.
Launch opens the Paperless-ngx template in the console with an 8 GB server selected. Pick where it runs and set the admin username and password, at least 8 characters for the password.
The template deploys in about eight minutes, database migrations included. Paperless-ngx creates your admin account on its first boot, so there is no sign-up page anyone else can reach first.
Open the address the console shows and sign in. Upload PDFs or images in the browser. OCR reads each one; its text becomes searchable once processing finishes.
Paperless-ngx hosting here costs the server plus optional daily backups. Paperless-ngx is free software, the template adds no fee and storage is not metered by the gigabyte. A European 8 GB server with an 80 GB disk is $0.03/hr, about $23 a month, billed by the hour against prepaid credits.
| Item | Cost |
|---|---|
| Paperless-ngx, PostgreSQL and Redis | $0 |
| Documents, pages and users | $0 platform fee; capacity depends on the server |
| Bandwidth | $0, traffic is included in the server price |
| Optional daily backups | +20% of the server price |
| Server | RAM, cores, disk | Where | Rate | About a month |
|---|---|---|---|---|
cx33 (recommended) | 8 GB, 4 cores, 80 GB | Europe | $0.03/hr | $23.36 |
cax21 (ARM) | 8 GB, 4 cores, 80 GB | Europe | $0.04/hr | $29.20 |
ccx13 | 8 GB, 2 cores, 80 GB | US | $0.16/hr | $119.28 |
cpx32 | 8 GB, 4 cores, 160 GB | Singapore | $0.19/hr | $135.63 |
cx43 (a bigger archive) | 16 GB, 8 cores, 160 GB | Europe | $0.06/hr | $43.22 |
Monthly figures assume 730 hours.
A server with a card on file or a past top-up is powered off and held for 24 hours, then deleted with its archive and backups. We email you. A top-up in that window restarts it. Welcome-credit-only servers are deleted at zero, documents included.
Price another size or region in the calculator, no signup.
There is no official Paperless-ngx cloud. Hosted plans such as Paperless-Home price by storage: โฌ9 a month for 2 GB, โฌ29 for 12 GB and โฌ59 for 25 GB. Paperless-Home also offers custom plans. Your own server prices the machine: its 80 GB disk is shared by the archive, database, containers and operating system.
| Where they differ | Paperless-Home Essential | Paperless-Home Business | Paperless-ngx on Selfhost.dev |
|---|---|---|---|
| Price | โฌ9 a month | โฌ59 a month | $0.03/hr for 8 GB in Europe |
| Storage | 2 GB document quota | 25 GB document quota | 80 GB total server disk, shared by apps and data |
| Who runs Paperless-ngx | Paperless-Home | Paperless-Home | You; we run the server |
Paperless-Home figures from paperless-home.com/pricing, monthly billing.
When you want Paperless-ngx itself run and supported by someone else and your archive fits in a few gigabytes. Here you get the server and the setup; the documents, tags and users stay with you.
The Paperless-ngx template deploys in about eight minutes. That is the console estimate after the server is ready; server provisioning adds time.
Nothing here in your way? The template deploys in about eight minutes.
Launch Paperless-ngxPaperless-ngx backup works at two levels here. The server can take an optional daily image of everything on it, the archive and database included. Paperless-ngx's own exporter writes documents, settings and metadata to the export folder; it runs with container access over SSH, granted on request. Restore into an empty installation of the same Paperless-ngx version, then recreate API tokens. Keep a copy off the server.
| Method | What it covers | Where it lives |
|---|---|---|
| Daily server backup (optional, +20%) | Paperless-ngx, PostgreSQL and the whole archive; the last 7 kept | With the server; deleted with it |
| The document exporter | Every document with its tags and metadata, for import into an empty, matching-version Paperless-ngx | The paperless-export volume, then wherever you copy it |
Tell us roughly how many documents you keep and how many you add each month. We reply with the server size and what it costs in your location.
No. Paperless-ngx is a community project with no hosted version of its own. Its setup guide points to a community list of hosting providers, from managed plans priced by storage to servers you run yourself. This template is the second kind: Paperless-ngx on a dedicated server, set up for you.
Yes. Community MCP servers for Paperless-ngx, such as paperless-mcp, connect Claude or Cursor to your documents through the Paperless API, using a token you create in your profile. Our own MCP server works one level down: it deploys and manages the server Paperless-ngx runs on.
Not strictly: it runs on SQLite, MariaDB or PostgreSQL. SQLite is the lightest, but the Paperless-ngx docs point SQLite users to troubleshooting for locking errors, which appear when OCR workers write at once. This template runs PostgreSQL 16 from the first document, so there is nothing to migrate later.
Upload them in the web app, send them from a community mobile app or set up mail rules that fetch attachments from an inbox you connect. Each file is read by OCR and tagged by your rules. The template also mounts a consume folder, filled with container access over SSH, granted on request.
Yes. Paperless-ngx is open source under the GPL-3.0 license with no paid edition. The template includes its core document and OCR features; optional integrations may need extra services. You pay for the server and optional daily backups; storage comes with the server. See pricing.
Selfhost.dev is a managed self hosting platform for developers and small teams. Open source apps and databases on dedicated servers you control, billed by the hour, in six locations across three continents.
Best for: Paperless-ngx, Nextcloud, Immich and managed PostgreSQL, MySQL, Redis, ClickHouse, OpenSearch and Kafka.