"Just run a Docker container" undersells what self-hosting paperless-ngx actually involves. It's a genuinely capable tool with a large community behind it (over 44,000 stars and 390+ contributors on GitHub), and none of what follows is a knock against the software itself. It's an honest look at the time it asks of you, before you've filed a single document.

Setup: more than one command

The recommended install path is Docker Compose, and it's not a single-container app. The stack includes a webserver, a database, a message broker, and optional containers for Office-document support. Choosing to run it without Docker means installing Python with its development libraries, GnuPG, ImageMagick, unpaper, and Tesseract OCR, and Tesseract has to be configured with the correct language files, matched exactly to an environment variable, or OCR quietly underperforms without an obvious error to point you at the problem.

Then there's the filing format: paperless-ngx expects you to design your own filename pattern using its placeholder syntax, and the consumption folder (where documents show up to be processed) has its own permissions, polling, and recursive-scan behavior to get right. None of this is undocumented or badly engineered; it's simply real configuration surface, aimed at people who are comfortable with exactly this kind of setup. Third-party hosting guides that specialize in running paperless-ngx for other people put realistic setup time, for someone already comfortable with Docker, at half a day to a full day.

Maintenance: the part that doesn't end

Setup is a one-time cost. What's less often mentioned upfront is what comes after: image updates, database migrations across versions, and backup verification, on a recurring basis. One hosting guide, admittedly one that sells managed hosting as the alternative, describes the experience as "just one Docker container" quietly turning into a second job. Whether or not you buy the framing, the underlying tasks are real: something you're running yourself needs to keep running, on your schedule, indefinitely.

The filing itself doesn't stop needing you either

Once it's running, paperless-ngx's built-in classifier only learns from documents you've already tagged and moved out of the inbox, and it retrains on a schedule rather than instantly. For an existing backlog (which for most people means years of paper, not a handful of recent documents), the initial bulk-tagging pass happens before the classifier has enough data to help at all. That gap is real enough that a small ecosystem of third-party AI tagging add-ons has grown up specifically to fill it, which tells you something about how the built-in classification holds up on its own.

A cluster of businesses (paperless-home, Elestio, and others) exist purely to remove the hosting and maintenance burden from paperless-ngx, starting around $5 to $16 a month. That's real evidence that the ops side of self-hosting is a felt cost people will pay to avoid. It's also evidence that managed hosting only solves half the problem: you stop maintaining a server, but you're still the one tagging and filing every document that comes in.

What this is actually costing you

Add it up: half a day to a full day on setup, a recurring maintenance cadence for as long as you run it, and an ongoing filing discipline that doesn't go away just because the hosting does. None of that is wasted time if you specifically want the control paperless-ngx gives you: full ownership of your data, your pipeline, your infrastructure. But if what you actually wanted was a searchable archive of your paper, and the Docker stack was just the price of admission, it's worth asking whether the admission fee is the part you meant to pay for.