
Paperless-ngx
Document management system with OCR
Deploy Paperless-ngx in 3 Steps
Connect Your VPS
Add your server credentials to Server Compass
Select Paperless-ngx
Choose from our template library
Deploy & Configure
Fill in settings and click Deploy
Deploy Paperless-ngx Yourself
Want full control? Here's how to deploy Paperless-ngx yourself using Docker Compose.
Connect to Your VPS via SSH
Fire up your terminal application and establish a connection to your remote server.
# Access your VPS
ssh root@YOUR_SERVER_IP
# With SSH key authentication
ssh -i ~/.ssh/your-private-key root@YOUR_SERVER_IPFirst time? Ensure Docker is installed first: curl -fsSL https://get.docker.com | sh
Initialize Project Folder
Create a folder to house your Docker Compose configuration.
# Create and navigate to project directory
mkdir -p ~/apps/paperless-ngx
cd ~/apps/paperless-ngxCreate Docker Configuration
Define your services in a docker-compose.yml file:
services:
paperless:
image: ghcr.io/paperless-ngx/paperless-ngx:latest
ports:
- "8000:8000"
environment:
- PAPERLESS_REDIS=redis://redis:6379
- PAPERLESS_DBHOST=db
- PAPERLESS_DBNAME=paperless
- PAPERLESS_DBUSER=paperless
- PAPERLESS_DBPASS=<your-db-password>
- PAPERLESS_SECRET_KEY=<your-secret-key>
- PAPERLESS_URL=<your-paperless-url>
volumes:
- paperless_data:/usr/src/paperless/data
- paperless_media:/usr/src/paperless/media
- paperless_consume:/usr/src/paperless/consume
restart: unless-stopped
depends_on:
- db
- redis
db:
image: postgres:16-alpine
environment:
- POSTGRES_USER=paperless
- POSTGRES_PASSWORD=<your-db-password>
- POSTGRES_DB=paperless
volumes:
- postgres_data:/var/lib/postgresql/data
restart: unless-stopped
redis:
image: redis:7-alpine
restart: unless-stopped
volumes:
paperless_data:
paperless_media:
paperless_consume:
postgres_data:
PORTHost port(default: 8000)PAPERLESS_URLPublic URLSECRET_KEYSecret keyDB_PASSWORDDB passwordExecute the Deployment
Start your containers and verify they're running correctly.
# Launch the stack
docker compose up -d
# Verify container status
docker compose ps
# Follow the logs
docker compose logs --followAllow Network Access
Update UFW rules to allow traffic on the application port.
# Allow the application port through firewall
sudo ufw allow 8000/tcp
sudo ufw reload
# Access your app at:
# http://your-server-ip:8000Don't want to type commands? We've got you.
Skip the terminal and deploy Paperless-ngx with a visual interface. Configure everything with clicks, not commands.
- No terminal required
- Point-and-click setup
- Auto SSL certificates
- Rolling deployments
- Health monitoring
- Instant rollbacks
Paperless-ngx FAQ
Common questions about self-hosting Paperless-ngx
How do I deploy Paperless-ngx with Server Compass?
Simply download Server Compass, connect to your VPS, and select Paperless-ngx from the templates list. Fill in the required configuration and click Deploy. The entire process takes under 3 minutes.
What are the system requirements for Paperless-ngx?
Paperless-ngx requires a minimum of 1024MB RAM. We recommend a VPS with at least 2048MB RAM for optimal performance. Any modern Linux server with Docker support will work.
Can I migrate my existing Paperless-ngx data?
Yes! Server Compass provides volume mapping that allows you to import existing data. You can also use standard Paperless-ngx backup and restore procedures.
How do I update Paperless-ngx to the latest version?
Server Compass makes updates easy. Simply click the Update button in your deployment dashboard, and the latest Paperless-ngx image will be pulled and deployed with zero downtime.
Is Paperless-ngx free to self-host?
Paperless-ngx is open-source software. You only pay for your VPS hosting (typically $5-20/month) and optionally Server Compass ($29 one-time). No subscription fees or per-seat pricing.
Ready to Self-Host Paperless-ngx?
Download Server Compass and deploy Paperless-ngx to your VPS in under 3 minutes. No Docker expertise required.
Download Server Compass


