---
title: "Deploy Paperless-ngx Multi User"
description: "Shared family or team archive with permissions"
category: "Storage"
url: https://railway.com/deploy/deploy-paperless-ngx-multi-user-archive
---

# Deploy Paperless-ngx Multi User

Shared family or team archive with permissions

**[Deploy Paperless-ngx Multi User on Railway](https://railway.com/template/deploy-paperless-ngx-multi-user-archive)**

Machine-readable deploy manifest (JSON, validated by TemplateCI): https://railway.com/deploy/deploy-paperless-ngx-multi-user-archive/manifest.json

- **Creator:** onepush
- **Category:** Storage

## Template content

### Postgres https://devicons.railway.app/i/postgresql.svg

- **Image:** ghcr.io/railwayapp-templates/postgres-ssl:18

### Redis https://cdn.sanity.io/images/sy1jschh/production/0ce0bfdcfbdbf69662b1116671f97c2dd788b655-157x157.svg

- **Image:** redis:8.2
- **Start command:** `/bin/sh -c "rm -rf $RAILWAY_VOLUME_MOUNT_PATH/lost+found/ && exec docker-entrypoint.sh redis-server --requirepass $REDIS_PASSWORD --save 60 1 --dir $RAILWAY_VOLUME_MOUNT_PATH"`

### paperless-ngx

- **Image:** ghcr.io/paperless-ngx/paperless-ngx:3.3.0
- **Public domain:** Yes

## Documentation

# Deploy and Host self hosted Paperless-ngx Multi User (Open-Source Document Archive) on Railway

Paperless-ngx, Postgres and Redis on one Railway template, wired so a household or small office shares an archive without sharing every file. It covers users, groups, global permissions and per-object owners.

## About Hosting Paperless-ngx Multi User open-source software on Railway (self hosted Paperless-ngx multi-user template)

Your documents, scans and OCR text sit on a Railway volume you control, in Postgres you can query and a media folder you can copy.

This template runs the official ghcr.io/paperless-ngx/paperless-ngx:3.3.0 image on port 8000 with Postgres and Redis behind it.

## Why Deploy Paperless-ngx Multi User, the Google Drive alternative on Railway (Railway Free Trial)

Google Drive decides access by folder. Paperless-ngx attaches permissions to each document, so one archive works for a household or a small office. You own the files and OCR output; the $5 trial is enough to test your group layout.

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 Multi User 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.

### Railway vs Other Hosting Providers and VPS for Paperless-ngx Multi User self hosting

Paperless-ngx runs anywhere Docker does; the difference is how much permission plumbing you own.

| Provider | What You Get with Railway | What You Get with the Other Provider |
|---|---|---|
| DigitalOcean | Template with Postgres, Redis and volume already wired | Droplets or App Platform; you build the stack and backups yourself |
| AWS | Managed variables and one volume for data, media and consume | EC2 or ECS plus RDS and ElastiCache; more parts to keep in sync |
| Hetzner | Same template, one click, no server patching | Cheap VPS, but you own Docker, TLS and upgrades |

## Common Use Cases for hosted Paperless-ngx Multi User

- **Household with private and shared documents:** each adult gets their own user, a Household group holds the shared global view permission, and the tax folder stays owner-only.
- **Small office split into groups:** Accounting and HR each get their own group, so payroll documents never appear in the Accounting user's document list.
- **Read-only accountant access:** give the outside bookkeeper a user with view grants on the relevant documents and edit rights switched off, so nothing gets renamed or deleted.
- **One document for an outsider:** the owner creates a share link at /share/SLUG with an expiry date, and the recipient never needs an account.
- **Per-person intake by mail:** separate mail accounts and rules set owner and view groups on arrival, so a scanned invoice lands in the right person's queue.

## Dependencies for Paperless-ngx Multi User Docker hosted on Railway

Three services: paperless-ngx (ghcr.io/paperless-ngx/paperless-ngx:3.3.0, port 8000, volume /usr/src/paperless/data holding data, media and consume dirs, where users, groups and grants live), Postgres, and Redis for Celery. Tika and Gotenberg are not included.

### Deployment Dependencies for Managed Paperless-ngx Multi User Service (Document Management)

Railway wires PAPERLESS_DBENGINE=postgresql, the PAPERLESS_DB* variables and PAPERLESS_REDIS. Set PAPERLESS_URL to the public https domain or CSRF breaks logins, and keep PAPERLESS_SECRET_KEY generated. OCR language is eng, time zone UTC.

### Implementation Details for Paperless-ngx Multi User (Using Paperless-ngx official docker image)

The image migrates and creates the admin on boot, so /accounts/login/ answers 200 on a fresh deploy. The consume folder sits on the volume and isn't reachable from a home scanner, so intake runs through the web UI, API, mobile apps or mail rules. GPL-3.0, free.

## How does Paperless-ngx Multi User compare against other shared document archives

### Paperless-ngx vs Google Drive (Google Drive Alternative)

- **Permissions:** Drive shares folders you build by hand. Paperless-ngx gives each document an owner plus view and edit lists.
- **Search:** Drive searches file contents too, but Paperless-ngx OCRs every scan at intake and adds tags, correspondents and dates to filter by.
- **Where Drive wins:** co-editing, syncing any file type, and recipients who do not want another login.

### Paperless-ngx vs Nextcloud (Nextcloud Alternative)

- **Scope:** Nextcloud is a full private cloud with apps. Paperless-ngx does intake, OCR and archiving only.
- **Sharing:** Paperless-ngx shares one document at /share/SLUG with optional expiry, and bundles group several.
- **Where Nextcloud wins:** calendars, contacts and desktop sync clients. It covers more ground per install.

### Paperless-ngx vs Mayan EDMS (Mayan EDMS Alternative)

- **Weight:** Mayan is a heavier enterprise EDMS with a formal workflow engine. Paperless-ngx is quicker to a usable archive.
- **Where Mayan wins:** deeper metadata modeling and multi-step approval chains.
- **Permissions:** both do object-level ACLs. Paperless-ngx stops at owner, view and edit, which is easier to reason about.

### Paperless-ngx vs Docspell (Docspell Alternative)

- **Community:** Docspell is written in Scala with a smaller community, so fewer answers exist when you get stuck.
- **Where Docspell wins:** auto-classification guesses correspondents and dates instead of you writing matching rules.
- **Permissions:** Paperless-ngx workflows assign an owner at consumption, which suits a household of distinct people better.

## How to use Paperless-ngx Multi User (the OSS document management system)?

1. Log in with `PAPERLESS_ADMIN_USER` and the generated `PAPERLESS_ADMIN_PASSWORD` from Railway variables.
2. In Settings > Users & Groups, create groups such as Household and Accounting, then add users to them.
3. Give each group its global permissions, UISettings first, or members cannot load the web UI.
4. Create a workflow with a Document Added or Consumption Started trigger and an Assignment action setting owner plus view and edit groups.
5. Upload one test document per user and check who sees what.
6. Use the bulk Permissions button on older documents that landed without an owner.

## How to self host Paperless-ngx Multi User on other VPS Services (Paperless-ngx self hosting guide)

Multi-user is app-level, so any Docker VPS works as long as Postgres, Redis and the data volume stay together.

### Clone the Repository

No full clone needed; grab the official Postgres compose files:

```
mkdir -p /opt/paperless
cd /opt/paperless
BASE=https://raw.githubusercontent.com/paperless-ngx/paperless-ngx/main/docker/compose
curl -fsSL -o docker-compose.yml $BASE/docker-compose.postgres.yml
curl -fsSL -o docker-compose.env $BASE/docker-compose.env
```

### Install Dependencies

Docker Engine, Docker Compose, and 2 GB of RAM for OCR. Create the data, media and consume folders.

### Configure Environment Variables

Edit docker-compose.env with a secret key, the admin login and the public URL, otherwise CSRF fails. The compose file already points PAPERLESS_REDIS at its broker service.

```
PAPERLESS_SECRET_KEY=long-random-string
PAPERLESS_ADMIN_USER=admin
PAPERLESS_ADMIN_PASSWORD=change-me
PAPERLESS_URL=https://your-domain
```

### Start the Paperless-ngx Multi User Application

Run docker compose up -d, open https://your-domain/accounts/login/, then set groups and permissions in Settings > Users & Groups.

## Official Pricing of Paperless-ngx Multi User (Paperless-ngx pricing)

Paperless-ngx is free. Third-party hosts exist and set their own rates, so read the fine print before you move an archive you already trust.

## Paperless-ngx Multi User cloud vs self hosted comparison (Pricing, features, costs, and more)

The software is free either way; what changes is the infrastructure bill and who does the setup.

### Monthly cost of self hosting Paperless-ngx Multi User on Railway

Expect about $5 to $15 a month for a small personal or household archive, plus volume storage that grows as documents pile up. Railway's $5 trial covers the first experiments, and adding family members or colleagues costs nothing extra.

### System Requirements for Hosting Paperless-ngx Multi User on a VPS

2 GB of RAM is the comfortable floor for the app, Postgres and Redis together. Budget more headroom if you OCR large batches, and remember disk tracks your media folder, not your user count. Permissions themselves add no real load.

## Frequently Asked Questions (FAQs)

### Why can a new user not see anything?

A new account starts with no permissions of its own, only whatever it inherits from its groups. If you added the user to a group but skipped the global permissions table, they get an empty archive. And without UISettings they cannot even load the web UI.

### Why do uploaded documents show to everyone?

Documents that arrive through consumption, the API, or mail fetching have no owner by default, and an unowned object is visible to every user with global view permission.

### Who can change permissions on a document?

Only the owner or a superuser.

### Can I share one file with someone without an account?

Yes, a share link gives read access to a single document at /share/SLUG, with an optional expiry. Share link bundles group several documents behind one link.

### Do tag permissions hide the documents that carry that tag?

No. Permissions on a tag control who can see or edit the tag itself, not the documents that carry it. Restrict the documents themselves.

### Can users enable two-factor authentication?

Yes, each person turns on 2FA under My Profile. SSO through django-allauth is possible but is not configured in this template, so plan on local accounts unless you wire it up yourself.


## Similar templates

- [RustFS | (Just Updated) S3 Object Store, Public URL and Keys Set](https://railway.com/deploy/rustfs-or-just-updated-s3-object-store-p) — S3-compatible object store, keys and public URL preset, volume kept
- [TimescaleDB](https://railway.com/deploy/timescaledb-railway-template) — A PostgreSQL-based time-series database for analytics on Railway.
- [Garage S3 Storage](https://railway.com/deploy/garage-s3-storage) — Ultra-light S3 server: fast, open-source, plug-and-play.

Open this page in a browser: https://railway.com/deploy/deploy-paperless-ngx-multi-user-archive
