Paperless-ngx on Proxmox LXC: manual setup guide

Learn to install Paperless-ngx 2.20.14 on Debian 13 with PostgreSQL 17 and Redis, then add HTTPS, backups and service monitoring.

Player not loading? Watch on YouTube

This tutorial walks through a manual, self-hosted Paperless-ngx installation in a Proxmox LXC, without Docker or helper scripts. The demonstrated stack uses Paperless-ngx 2.20.14, Debian 13 template 13.1-2, Python 3.13 and PostgreSQL 17. The speaker reports running Proxmox 9.1.7. His container has two CPU cores, 4 GB of memory and 1 GB of swap; these are example settings rather than stated minimum requirements.

The installation covers locale and timezone settings, English OCR dependencies, the database and Redis as the message broker for Celery. It then creates a dedicated Paperless user and Python virtual environment. Viewers configure credentials, allowed hosts and writable directories before running database migrations and creating an administrator account. Four systemd services handle the web server, document consumption, task queue and scheduler. The speaker checks the login endpoint, signs in on port 8000 and uploads a 111-page PDF whose extracted text appears in the interface.

The optional homelab section adds Pi-hole DNS, a Caddy reverse proxy with Cloudflare DNS configuration, a Proxmox Backup Server job and separate Uptime Kuma checks for HTTP and container reachability. AI-assisted tagging and OCR through Paperless-GPT are proposed for a later tutorial. This guide does not configure that local LLM integration or establish a GPU requirement.