bolt Valebyte VPS from $4/mo — NVMe, 60s deploy.

Get a VPS arrow_forward
eco Principiante Tutorial/Cómo hacer

Cómo instalar y configurar Paper

calendar_month May 21, 2026 schedule 10 min de lectura visibility 27 vistas
Как установить и настроить Paperless-ngx на VPS: руководство по self-hosted документообороту
info

¿Necesitas un servidor para esta guía? Ofrecemos servidores dedicados y VPS en más de 50 países con configuración instantánea.

¿Necesitas un VPS para esta guía?

Explore otras opciones de servidores dedicados en

Cómo instalar y configurar Paperless-ngx en un VPS: guía de gestión documental self-hosted

TL;DR

Paperless-ngx es un potente sistema de gestión documental (DMS) de código abierto que convierte sus papeles físicos en un archivo digital indexable con capacidad de búsqueda de texto completo. En esta guía, analizaremos el proceso de despliegue del sistema basado en Docker, configuraremos el reconocimiento automático de texto (OCR), conectaremos el acceso seguro a través de HTTPS y organizaremos un sistema de copias de seguridad. Al final, obtendrá una nube privada para documentos, accesible solo para usted, sin cuotas de suscripción y sin riesgos de fuga de datos a proveedores externos.

  • Stack tecnológico: Docker, PostgreSQL, Redis, Tesseract OCR, Nginx/Caddy.
  • Resultado: Procesamiento automático de PDF e imágenes, búsqueda por contenido, etiquetado y archivado.
  • Tiempo de implementación: 30-40 minutos con un VPS listo.
  • Seguridad: Aislamiento total de datos, cifrado TLS y protección contra fuerza bruta.
  • Escalabilidad: Soporte para modo multiusuario e integración con aplicaciones móviles.

1. Qué estamos configurando y por qué: la filosofía de Paperless-ngx

Esquema: 1. Qué estamos configurando y por qué: la filosofía de Paperless-ngx
Esquema: 1. Qué estamos configurando y por qué: la filosofía de Paperless-ngx

En 2026, el problema de la acumulación de documentos en papel (recibos, contratos, informes médicos, instrucciones y facturas) sigue siendo relevante. El simple escaneo en una carpeta del ordenador no resuelve el problema: encontrar el documento necesario entre cientos de archivos "SCAN_001.pdf" es prácticamente imposible. Aquí es donde entra en escena Paperless-ngx.

Paperless-ngx es un fork del popular proyecto Paperless-ng, que a su vez surgió del Paperless original. Es una aplicación web que indexa sus escaneos. La magia principal ocurre durante el proceso de OCR (Optical Character Recognition): el sistema "lee" el texto de la imagen o del archivo PDF, lo guarda en la base de datos y permite encontrar documentos instantáneamente por palabras clave.

¿Por qué elegir una solución self-hosted en su propio VPS en lugar de servicios en la nube como Google Drive o DMS de pago especializados?

  • Privacidad: Sus documentos financieros y datos personales se almacenan en su servidor, no en los servidores de corporaciones que pueden analizarlos para publicidad.
  • Sin límites: Solo está limitado por el tamaño del disco de su VPS. No hay restricciones en el número de documentos o usuarios.
  • Automatización: Puede configurar una "carpeta de consumo" (consumption folder). Tan pronto como un archivo llega allí (vía FTP, SMB o aplicación móvil), Paperless-ngx lo procesa automáticamente, lo reconoce, le asigna etiquetas y lo envía al archivo.
  • Etiquetado inteligente: El sistema utiliza aprendizaje automático para determinar automáticamente el corresponsal (remitente) y el tipo de documento basándose en la experiencia acumulada.

2. Qué configuración de VPS se necesita para esta tarea

Esquema: 2. Qué configuración de VPS se necesita para esta tarea
Esquema: 2. Qué configuración de VPS se necesita para esta tarea

Paperless-ngx es una aplicación bastante exigente en cuanto a recursos, especialmente durante el procesamiento de nuevos documentos. El proceso de OCR (reconocimiento de texto) carga activamente el procesador, mientras que la base de datos y el motor de búsqueda requieren memoria RAM.

Las características mínimas y recomendadas del servidor se detallan en la siguiente tabla:

Recurso Mínimo (1-2 usuarios) Recomendado (Familia/Oficina)
CPU 2 núcleos (x86_64 o ARM64) 4 núcleos o más
RAM 4 GB 8 GB + Swap
Disco 20 GB (SSD/NVMe) 100 GB+ (depende del volumen del archivo)
SO Ubuntu 24.04 LTS / 26.04 LTS Debian 12 / Ubuntu 24.04 LTS

Es importante tener en cuenta que, si falta memoria RAM, el proceso de OCR puede fallar, dejando los documentos sin procesar. Si planea cargar miles de páginas de archivo a la vez, opte por configuraciones más potentes.

Para un funcionamiento estable y un procesamiento rápido de documentos, recomendamos considerar un VPS con las características indicadas. La presencia de discos NVMe acelerará significativamente la indexación y la búsqueda en la base de datos.

Ubicación del servidor: Dado que cargará documentos personales, elija una ubicación con el mínimo ping hacia usted y en una jurisdicción en la que confíe. Para usuarios en Europa, los centros de datos en Alemania o los Países Bajos son óptimos.

3. Preparación del servidor: seguridad y dependencias

Esquema: 3. Preparación del servidor: seguridad y dependencias
Esquema: 3. Preparación del servidor: seguridad y dependencias

Antes de instalar la aplicación en sí, es necesario preparar el entorno. La seguridad es fundamental, ya que el DMS contendrá sus datos más sensibles.

Actualicemos la lista de paquetes y el software instalado:


sudo apt update && sudo apt upgrade -y

Instalaremos el conjunto básico de utilidades que necesitaremos durante el proceso:


sudo apt install -y curl wget git vim software-properties-common ufw fail2ban

Configuraremos el cortafuegos básico (Firewall). Necesitamos abrir los puertos para SSH, HTTP y HTTPS:


sudo ufw allow 22/tcp
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw enable

También se recomienda crear un usuario separado con privilegios sudo para no realizar todas las acciones como root:


# Creación de usuario (reemplace 'adminuser' con su nombre)
sudo adduser adminuser
sudo usermod -aG sudo adminuser
# Cambiar al nuevo usuario
su - adminuser

4. Instalación de Docker y Docker Compose

Esquema: 4. Instalación de Docker y Docker Compose
Esquema: 4. Instalación de Docker y Docker Compose

Paperless-ngx consta de varios componentes (servidor web, base de datos, bróker de mensajes, motor de OCR). La forma más fiable y sencilla de ejecutar todo esto es utilizar Docker Compose. En 2026, Docker es el estándar de facto para soluciones self-hosted.

Instalaremos Docker desde el repositorio oficial:


# Añadimos la clave GPG de Docker
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg

# Añadimos el repositorio
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

# Instalamos los paquetes
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

Añadiremos a nuestro usuario al grupo docker para no tener que introducir sudo cada vez:


sudo usermod -aG docker $USER
# Aplique los cambios de grupo (o vuelva a entrar por SSH)
newgrp docker

Verifiquemos el funcionamiento:


docker compose version

5. Instalación de Paperless-ngx: despliegue paso a paso

Esquema: 5. Instalación de Paperless-ngx: despliegue paso a paso
Esquema: 5. Instalación de Paperless-ngx: despliegue paso a paso

Los desarrolladores de Paperless-ngx proporcionan un script de instalación conveniente, pero analizaremos el método "manual" a través de Docker Compose, ya que ofrece más control sobre la configuración y las rutas de almacenamiento de datos.

Crearemos un directorio para el proyecto:


mkdir ~/paperless-ngx && cd ~/paperless-ngx

Para funcionar, necesitaremos tres archivos: docker-compose.yml, docker-compose.env y carpetas vacías para los datos.

Crearemos la estructura de carpetas:


mkdir -p {data,media,export,consume,db}

Ahora crearemos el archivo de configuración de entorno docker-compose.env. Este es el "corazón" de la configuración de su servidor. ¡Asegúrese de cambiar los valores de las contraseñas y la clave secreta!


# Clave secreta (genere una cadena aleatoria larga)
PAPERLESS_SECRET_KEY=change-this-to-something-very-long-and-random

# Configuración de la base de datos
PAPERLESS_DBENGINE=postgresql
PAPERLESS_DBHOST=db
PAPERLESS_DBNAME=paperless
PAPERLESS_DBUSER=paperless
PAPERLESS_DBPASS=your_strong_password_here

# Configuración de Redis
PAPERLESS_REDIS=redis://broker:6379

# Idiomas de OCR (añada los necesarios, por ejemplo rus, eng, deu)
PAPERLESS_OCR_LANGUAGE=rus+eng

# Zona horaria
PAPERLESS_TIME_ZONE=Europe/Madrid

# Configuración de URL (especifique su dominio más tarde)
PAPERLESS_URL=https://paperless.yourdomain.com

Ahora crearemos el archivo principal docker-compose.yml. Utilizaremos versiones actualizadas de las imágenes para el año 2026:


services:
  broker:
    image: docker.io/library/redis:7
    restart: unless-stopped
    volumes:
      - ./redisdata:/data

  db:
    image: docker.io/library/postgres:16
    restart: unless-stopped
    volumes:
      - ./db:/var/lib/postgresql/data
    environment:
      POSTGRES_DB: paperless
      POSTGRES_USER: paperless
      POSTGRES_PASSWORD: your_strong_password_here

  webserver:
    image: ghcr.io/paperless-ngx/paperless-ngx:latest
    restart: unless-stopped
    depends_on:
      - db
      - broker
    ports:
      - "8000:8000"
    volumes:
      - ./data:/usr/src/paperless/data
      - ./media:/usr/src/paperless/media
      - ./export:/usr/src/paperless/export
      - ./consume:/usr/src/paperless/consume
    env_file: docker-compose.env
    environment:
      PAPERLESS_REDIS: redis://broker:6379
      PAPERLESS_DBHOST: db

Iniciamos los contenedores en segundo plano:


docker compose up -d

Tras el inicio, es necesario crear el primer superusuario (administrador):


docker compose exec webserver python3 manage.py createsuperuser

Siga las instrucciones en la terminal para establecer el nombre de usuario, el correo electrónico y la contraseña.

6. Configuración avanzada: OCR, idiomas y correo electrónico

Esquema: 6. Configuración avanzada: OCR, idiomas y correo electrónico
Esquema: 6. Configuración avanzada: OCR, idiomas y correo electrónico

Una de las funciones más potentes de Paperless-ngx es la capacidad de recopilar documentos automáticamente desde el correo electrónico. Por ejemplo, puede configurar el sistema para que revise su bandeja de entrada y descargue automáticamente las facturas de los proveedores.

Añada los siguientes parámetros a su docker-compose.env para configurar el agregador de correo:


# Habilitar el procesamiento de correo
PAPERLESS_EMAIL_SECRET=your_email_password_or_app_token
# Frecuencia de comprobación (en minutos)
PAPERLESS_EMAIL_TASK_INTERVAL=10

Configuración de OCR (Tesseract):

Paperless-ngx utiliza Tesseract para el reconocimiento de texto. Puede configurar el modo de funcionamiento del OCR a través de la variable PAPERLESS_OCR_MODE:

  • clean: Crea un PDF con una capa de texto, limpiando el original (por defecto).
  • redo: Fuerza la ejecución del OCR, incluso si el PDF ya tiene una capa de texto.
  • skip: Omite el OCR si ya se ha detectado texto.

Si tiene un procesador poco potente en su VPS, puede limitar el número de hilos para el OCR para que el servidor no se bloquee al cargar archivos grandes:


# Limitación a 2 procesos de OCR paralelos
PAPERLESS_OCR_THREADS=2

Procesamiento de documentos de Office:

Por defecto, Paperless-ngx funciona bien con PDF e imágenes. Para que reconozca .docx, .xlsx y .pptx, es necesario añadir los servicios Gotenberg y Tika. Esto ampliará las capacidades del sistema hasta convertirlo en una completa suite ofimática.

7. Configuración del servidor web y HTTPS (SSL)

Esquema: 7. Configuración del servidor web y HTTPS (SSL)
Esquema: 7. Configuración del servidor web y HTTPS (SSL)

Ejecutar Paperless-ngx en el puerto 8000 a través de HTTP no cifrado no es seguro. Necesitamos un Reverse Proxy que proporcione soporte para HTTPS a través de Let's Encrypt.

Utilizaremos Caddy, ya que obtiene y renueva automáticamente los certificados SSL, requiriendo una configuración mínima.

Instalemos Caddy en el VPS:


sudo apt install -y debian-keyring debian-archive-keyring apt-transport-https
curl -1G 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' | sudo gpg --dearmor -o /usr/share/keyrings/caddy-stable-archive-keyring.gpg
curl -1G 'https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt' | sudo tee /etc/apt/sources.list.d/caddy-stable.list
sudo apt update
sudo apt install caddy

Editaremos el archivo de configuración de Caddy (/etc/caddy/Caddyfile):


paperless.yourdomain.com {
    reverse_proxy localhost:8000
    
    header {
        # Configuración de seguridad
        Strict-Transport-Security "max-age=31536000;"
        X-Content-Type-Options nosniff
        X-Frame-Options DENY
        Referrer-Policy no-referrer-when-downgrade
    }
}

Reinicie Caddy para aplicar los cambios:


sudo systemctl restart caddy

Ahora su Paperless-ngx está disponible en la dirección https://paperless.yourdomain.com con un certificado SSL válido.

8. Copias de seguridad y mantenimiento: conservando los datos para siempre

Esquema: 8. Copias de seguridad y mantenimiento: conservando los datos para siempre
Esquema: 8. Copias de seguridad y mantenimiento: conservando los datos para siempre

Los documentos son datos que no se pueden perder. En Paperless-ngx es necesario hacer copias de seguridad de tres cosas: la base de datos, los archivos multimedia (los documentos en sí) y los archivos de configuración.

Método 1: Exportación con la utilidad integrada

Paperless-ngx tiene un comando de exportación integrado que vuelca todo en la carpeta /export:


docker compose exec webserver document_exporter ../export/

Método 2: Script de copia de seguridad automática

Crearemos un script bash sencillo backup.sh que archivará los datos y los enviará a un almacenamiento remoto (por ejemplo, S3 u otro servidor a través de rsync):


#!/bin/bash
BACKUP_DIR="/home/adminuser/backups"
DATE=$(date +%Y-%m-%d)
PROJECT_DIR="/home/adminuser/paperless-ngx"

mkdir -p $BACKUP_DIR

# 1. Volcado de la base de datos PostgreSQL
docker compose exec -t db pg_dumpall -c -U paperless > $BACKUP_DIR/db_backup_$DATE.sql

# 2. Archivado de archivos multimedia y configuraciones
tar -czf $BACKUP_DIR/paperless_files_$DATE.tar.gz -C $PROJECT_DIR data media docker-compose.yml docker-compose.env

# 3. Eliminación de copias de seguridad antiguas (más de 30 días)
find $BACKUP_DIR -type f -mtime +30 -delete

Añada la ejecución del script al crontab (crontab -e) para que se ejecute cada noche a las 03:00:


0 3   * /bin/bash /home/adminuser/paperless-ngx/backup.sh

9. Solución de problemas + FAQ

¿Por qué el proceso de OCR tarda tanto tiempo?

El reconocimiento de texto es una tarea que consume muchos recursos. En un VPS de 2 núcleos, una página puede tardar entre 5 y 20 segundos en procesarse. Si ha subido 100 documentos a la vez, el sistema los pondrá en cola. Puede comprobar el estado de la cola en la interfaz web, en la sección "Settings" -> "Worker Status". Para acelerar el proceso, aumente el número de núcleos de la CPU.

Error "Out of Memory" al procesar PDFs grandes

Esto sucede cuando Tesseract intenta procesar un documento de varias páginas con alta resolución. Solución: añada un archivo Swap a su VPS (mínimo 2-4 GB). Esto permitirá que el sistema utilice el disco como memoria RAM temporal.

¿Cómo actualizar Paperless-ngx a la última versión?

Gracias a Docker, la actualización se realiza sin problemas:


cd ~/paperless-ngx
docker compose pull
docker compose up -d

Docker descargará automáticamente las nuevas imágenes y reiniciará los contenedores, conservando todos sus datos.

¿Qué configuración de VPS es la mínima adecuada?

La opción mínima funcional es 2 GB de RAM y 2 vCPU, pero obligatoriamente necesitará configurar un archivo Swap; de lo contrario, la interfaz web se "caerá" durante la carga de documentos. Para un funcionamiento fluido y sin retrasos, recomendamos entre 4 y 8 GB de RAM.

¿Qué elegir: VPS o servidor dedicado para esta tarea?

Para un archivo personal (hasta 10,000 documentos), un VPS es más que suficiente. Un servidor dedicado solo debería considerarse si está implementando Paperless-ngx en una gran empresa con decenas de empleados que escanean cientos de páginas diariamente, o si requiere un nivel extremadamente alto de rendimiento de disco para búsquedas instantáneas entre millones de palabras.

¿Cómo escanear documentos directamente a Paperless?

La forma más cómoda son las aplicaciones móviles (por ejemplo, Paperless Mobile para iOS/Android). Permiten fotografiar el documento, recortarlo y enviarlo por API a su Paperless-ngx. Además, muchos escáneres modernos admiten la función "Scan to FTP": configure el escáner para enviar los archivos a la carpeta consume de su servidor.

10. Conclusiones y próximos pasos

Hemos desplegado con éxito un sistema profesional de gestión de documentos en nuestro propio servidor. Ahora dispone de un almacenamiento seguro, rápido y totalmente controlado para todos sus papeles.

¿Qué hacer a continuación para mejorar el sistema?

  • Configure una jerarquía de etiquetas: Divida los documentos por categorías: "Finanzas", "Salud", "Trabajo", "Coche".
  • Conecte IMAP: Configure la recogida automática de correos de su bandeja de entrada para que las facturas de internet o electricidad lleguen al archivo por sí solas.
  • Organice una copia offline: Configure la sincronización de la carpeta export con su PC doméstico o NAS a través de Syncthing para tener acceso a los documentos incluso sin conexión a internet.

La transición a una oficina sin papeles no solo es ecológica, sino también increíblemente cómoda. Se acabaron los archivadores de palanca y los certificados de garantía perdidos: todo lo que necesita está ahora a un solo clic de búsqueda.

¿Te fue útil esta guía?

cómo instalar y configurar paperless-ngx en un vps: guía de gestión documental autoalojada
support_agent
Valebyte Support
Usually replies within minutes
Hi there!
Send us a message and we'll reply as soon as possible.