---
title: "Deploy Paperless-ngx Share Links"
description: "Share single documents with expiring links from Paperless-ngx"
category: "Storage"
url: https://railway.com/deploy/deploy-paperless-ngx-share-links
---

# Deploy Paperless-ngx Share Links

Share single documents with expiring links from Paperless-ngx

**[Deploy Paperless-ngx Share Links on Railway](https://railway.com/template/deploy-paperless-ngx-share-links)**

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

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

## Template content

### 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

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

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

## Documentation

# Deploy and Host self hosted Paperless-ngx Share Links (Sharing Documents Securely Self-Hosted) on Railway

This template runs a self-hosted Paperless-ngx instance so you can send one scanned document to an outside party as a link that can expire.

## About Hosting Paperless-ngx Share Links open-source software on Railway (self hosted Paperless-ngx share links and document sharing template)

This template runs the official ghcr.io/paperless-ngx/paperless-ngx:3.3.0 image on port 8000, with Postgres for the database and Redis as the Celery broker.

## Why Deploy Paperless-ngx Share Links, the DocuWare alternative on Railway (Railway Free Trial)

DocuWare charges per seat, and you pay for sharing whether or not you use it.

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 Share Links 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 Share Links self hosting

Share links need a public HTTPS domain, Postgres, Redis, and a persistent volume, and how you get those changes the setup work.

| Provider | What You Get with Railway | What You Get with the Other Provider |
| --- | --- | --- |
| DigitalOcean | Postgres, Redis, and paperless-ngx deployed together with a public domain. | A Droplet you manage, so Docker, TLS, and the volume are yours to set up. |
| AWS | The services wired together without building a VPC or IAM roles first. | Full control over networking and storage, with much more configuration first. |
| Hetzner | PAPERLESS_URL and the volume already set, so share links resolve on your domain. | Cheap VPS hardware, but Docker Compose, the proxy, and backups are on you. |

Pick Railway if you want share links running today, and a VPS if you want to own every layer.

## Common Use Cases for hosted Paperless-ngx Share Links

- **Sending one scanned contract:** Open the document, create a share link, and set an expiration. The outside party gets a URL that stops working on the date you chose.
- **Bundling tax documents for an accountant:** Select the receipts and statements in the bulk editor and create a share link bundle. Paperless-ngx builds one ZIP in the background, so your accountant downloads a single file.
- **Giving a family member access to specific files:** Set view or edit permissions on the documents that matter from the Permissions tab. They see those files without full login access to the archive.
- **Revoking access after a deadline:** Delete the share link once the filing or closing date passes. Anyone who opens the old URL is redirected to the login page.
- **Emailing a document link:** If PAPERLESS_EMAIL_HOST is configured, the Send button can email the link directly. Confirm your mail setup works before you rely on it.

## Dependencies for Paperless-ngx Share Links Docker hosted on Railway

The template runs three services: the Paperless-ngx app, a Postgres database, and a Redis instance acting as the Celery broker.

### Deployment Dependencies for Managed Paperless-ngx Share Links Service (Document Archive)

- **paperless-ngx service:** runs ghcr.io/paperless-ngx/paperless-ngx:3.3.0 on public port 8000 and generates the /share/ URLs.
- **Postgres:** stores metadata, permissions, and share link records through the PAPERLESS_DB* variables.
- **Redis:** the Celery broker, wired through PAPERLESS_REDIS. If it is down, bundles stall in the queue.
- **Persistent volume:** mounted at /usr/src/paperless/data. It grows with every bundle you create.

### Implementation Details for Paperless-ngx Share Links (Using Paperless-ngx official docker image)

The template sets most variables for you.

```
PAPERLESS_URL=https://your-paperless-domain.up.railway.app
```

Set this to your real Railway domain once it is assigned, because a mismatch breaks CSRF and points generated share URLs at the wrong host.

## How does Paperless-ngx Share Links compare against other ways to share documents from a self-hosted archive

### Paperless-ngx Share Links vs Google Drive links (Google Drive sharing)

- **Where Paperless-ngx wins:** The link points at one scanned document in your own archive, so the file never has to be copied into a cloud folder first.
- **Expiry and deletion:** You can set an expiration time, and deleting the link sends anyone who opens it to the login page.
- **Where Google Drive wins:** Drive is far more polished for collaborative editing and for sharing whole folders with a team already on Google Workspace.

### Paperless-ngx Share Links vs Dropbox Transfer (Dropbox Transfer)

- **Where Paperless-ngx wins:** The archive keeps its OCR text, tags, and correspondents, so you're not re-uploading files into a separate transfer system.
- **Bundles:** Selecting several documents in the bulk editor produces one share link to a ZIP, which covers sending an accountant a whole tax folder.
- **Where Dropbox Transfer wins:** It's built for one-off sending of large files to people with no setup on your side.

### Paperless-ngx Share Links vs Nextcloud shares (Nextcloud)

- **Where Paperless-ngx wins:** It's a document management system first, so sharing sits on top of search, OCR, and metadata rather than a general file tree.
- **Permissions:** Owner, view, and edit grants are set per document, and only the owner can create share links.
- **Where Nextcloud wins:** It's a full collaboration suite with file sync and mobile clients, and its share options are more varied, including password-protected links.

### Paperless-ngx Share Links vs DocuWare (DocuWare)

- **Where Paperless-ngx wins:** It's free and open source under GPL-3.0, and you run it yourself on Railway with no per-seat enterprise contract.
- **Control:** Documents and share links live on your own service, with your own secret key and database.
- **Where DocuWare wins:** It offers formal vendor support, integrations, and controlled internal sharing that larger organizations may need for compliance.

## How to use Paperless-ngx Share Links (the OSS document management system)?

Set your public domain first, since share URLs are built from it.

1. Open the document detail screen for the file you want to share and click Send.
2. Create a share link for that document and set an expiration time if needed.
3. Copy the URL, which takes the form {paperless-url}/share/{slug}, where paperless-url is your Railway public domain set as PAPERLESS_URL.
4. For several documents, select them in the bulk editor, create a share link bundle, and watch it in the Manage share link bundles dialog.
5. To grant another user access, open the Permissions tab on the document or use the bulk Permissions button and choose view or edit.

```
PAPERLESS_URL=https://your-paperless-domain.up.railway.app
```

Only document owners can create share links, so a teammate needs owner rights on a file before they can send it onward.

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

Prefer your own VPS to Railway?

### Clone the Repository

Grab the upstream source and move into that folder.

```bash
git clone https://github.com/paperless-ngx/paperless-ngx.git
cd paperless-ngx
```

### Install Dependencies

Upstream recommends Docker Compose, so install Docker and the Compose plugin first.

```bash
docker --version
docker compose version
```

### Configure Environment Variables

Set the admin login, secret key, and public domain.

```bash
PAPERLESS_SECRET_KEY=change-this-to-a-long-random-string
PAPERLESS_ADMIN_USER=admin
PAPERLESS_ADMIN_PASSWORD=change-this-password
PAPERLESS_URL=https://your-domain.example.com
```

### Start the Paperless-ngx Share Links Application

Start the stack in the background and watch the logs until the web service is ready.

```bash
docker compose up -d
docker compose logs -f
```

On Railway, the platform handles the container runtime, public domain, and document volume for you.

## Official Pricing of Paperless-ngx Share Links (Paperless-ngx pricing)

Paperless-ngx is free and open source under the GPL-3.0 license, and the project does not run an official paid cloud, so there is no Paperless-ngx price to quote for share links.

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

Paperless-ngx has no official paid cloud, so the real choice is between a third-party host and running it yourself.

### Monthly cost of self hosting Paperless-ngx Share Links on Railway

Railway usage for a small personal archive typically lands around $5-15 per month, and volume storage grows with the number of documents you keep.

### System Requirements for Hosting Paperless-ngx Share Links on a VPS

The official docs say Paperless-ngx runs on a Raspberry Pi, but OCR crawls on weak CPUs.

## Frequently Asked Questions (FAQs)

### How do I create a share link for one document?

Open the document's detail screen and click Send.

### Can I set an expiration on a Paperless-ngx share link?

Yes, you can optionally set an expiration time when you create the link.

### Do share links require the recipient to log in?

No, a share link is public and does not need a Paperless-ngx account.

### How do I share several documents at once with a ZIP bundle?

Select the documents in the bulk editor and create a share link bundle.

### Who can create share links and grant permissions to other users?

Only the document owner can create share links or grant view and edit permissions to other users.

### Does the share URL depend on PAPERLESS_URL being my Railway domain?

Set PAPERLESS_URL to your Railway public domain, because it is required for CSRF and that is what keeps the app working on that address.


## 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-share-links
