Mejores VPS para Paperless-ngx en 2026: RAM, almacenamiento e instalación
El mejor VPS para Paperless-ngx tiene memoria suficiente para los picos del OCR y espacio para los escaneos originales y sus copias procesadas. Paperless-ngx convierte documentos en un archivo con búsqueda, OCR, etiquetas e interfaz web. Un VPS lo mantiene disponible aunque apagues el ordenador de casa y te permite controlar su ubicación y acceso.
Empieza midiendo una muestra representativa de archivos. Un PDF breve con texto y un escaneo de cien páginas en alta resolución exigen recursos de CPU, memoria y disco muy distintos. La concurrencia del OCR importa tanto como el número de documentos. Las copias de seguridad necesitan capacidad propia fuera del servidor.
Esta guía compara seis proveedores, explica la planificación de RAM y almacenamiento y sigue la instalación oficial con PostgreSQL y Docker Compose. Incluye ajustes de OCR, importación automática y recuperación cifrada para elegir una configuración que puedas mantener dentro de tu presupuesto.
Precios y referencias técnicas verificados el 29 de octubre de 2026. La última versión estable comprobada es Paperless-ngx 3.3.4. Son referencias del catálogo público, no compras ni pruebas de rendimiento OCR. Confirma región, disponibilidad, impuestos y total del pedido.
Mejores VPS para Paperless-ngx: comparación rápida
Los planes recomendados se orientan al OCR habitual con unos 4GB de RAM o más. Las opciones de entrada más baratas se indican aparte; el número de CPU por sí solo no determina la velocidad del OCR.
| Proveedor | Plan recomendado | vCPU | RAM | Almacenamiento incluido | Ampliación | Coste mensual verificado | Ideal para |
|---|---|---|---|---|---|---|---|
| LightNode | Agency Linux | 2 | 4GB | 50GB NVMe | Disco adicional; presupuesto en consola | Referencia publicada de $14.70 | Flexibilidad por horas |
| Hetzner | CPX22, confirmar disponibilidad | 2 | 4GB | 80GB NVMe | Volúmenes conectados | Consultar precio actual | Ubicación en la UE tras verificar presupuesto |
| DigitalOcean | Basic Regular 4GiB | 2 | 4GiB | 80GiB SSD | Volúmenes conectados | $24 | Primer despliegue documentado |
| Vultr | vc2-2c-4gb | 2 | 4GB | 80GB SSD | Block Storage regional | $20 en región base | Opciones regionales |
| Akamai Cloud / Linode | Linode 4GB | 2 | 4GB | 80GB SSD | Block Storage; comprobar precio regional | $24 en región base | Uso general |
| Contabo | Cloud VPS 4 | 4 | 8GB | 100GB SSD | Planes mayores; verificar compatibilidad de extras | Consultar precio actual | Más recursos |
¿Qué es Paperless-ngx?
Paperless-ngx es un gestor documental de código abierto que alojas en tu infraestructura. Importa archivos, extrae texto, aplica OCR cuando hace falta y permite buscar en el texto completo. Las etiquetas, los corresponsales, los tipos de documento y las reglas de coincidencia organizan recibos, facturas y correspondencia. La interfaz web también ofrece permisos y clasificación automática.
Los documentos permanecen en almacenamiento que administras. Gestionar discos, controlar el acceso y recuperar datos forman parte del servicio. Puede complementar una fototeca como Immich, pero los originales, metadatos y derivados consultables requieren su propio plan de conservación.
Requisitos del servidor para Paperless-ngx
CPU y RAM
La guía oficial admite hardware modesto y recomienda Docker para la mayoría de usuarios. No establece una especificación de VPS que garantice todas las cargas OCR. Calcula por separado Linux/Docker, la aplicación, PostgreSQL, el intermediario de mensajes y el trabajo temporal de OCR. Los servicios opcionales de conversión añaden consumo de memoria.
Configuraciones recomendadas
Son estimaciones editoriales iniciales, incluido el sistema y los contenedores principales, no mínimos oficiales ni garantías de rendimiento. El almacenamiento corresponde a una instalación inicial pequeña; el cálculo posterior de la biblioteca puede exigir más.
| Carga | vCPU | RAM | SSD inicial | Ajuste inicial del OCR |
|---|---|---|---|---|
| Uso personal, biblioteca pequeña | 2 | 2GB | 30GB | Un trabajador y un hilo OCR; probar con cuidado |
| OCR habitual | 2 | 4GB | 50GB | Empezar con 1 × 1 y vigilar picos |
| Escaneo frecuente, oficina pequeña | 4 | 8GB | 100GB | Evaluar 1 × 2 o 2 × 1 |
| Lotes o bibliotecas grandes | 4-8 | 8-16GB | Almacenamiento ampliable | Ajustar según cola y memoria medidas |
Rendimiento del OCR y consumo de recursos
Las imágenes de alta resolución, los PDF largos, varios idiomas de reconocimiento y los trabajos simultáneos pueden causar picos breves de CPU/RAM. Las visitas, consultas a la base de datos, actualizaciones del índice y clasificación compiten con el OCR. Tika/Gotenberg pueden aumentar el consumo al convertir documentos de Office.
La referencia de configuración actual define PAPERLESS_TASK_WORKERS para las tareas paralelas en segundo plano y PAPERLESS_THREADS_PER_WORKER para las páginas procesadas en paralelo dentro de un documento. Su producto no debe superar el número de CPU lógicas. En un host de 2 vCPU, empezar con 1 × 1 deja algo de CPU para la web y la base de datos. Esto no establece un límite fijo de RAM.
Almacenamiento
Cuenta originales, versiones de archivo, miniaturas, texto extraído/metadatos, PostgreSQL, índice de búsqueda, imágenes de contenedor y archivos temporales. Deja espacio libre para importar y actualizar. Mide el crecimiento tras importar escaneos representativos; no presupongas un porcentaje universal de sobrecarga.
PostgreSQL e intermediario compatible con Redis
La documentación oficial de instalación recomienda PostgreSQL para nuevas instalaciones; también admite SQLite y MariaDB. Un intermediario compatible con Redis coordina el trabajo en segundo plano. La plantilla comprobada utiliza Valkey: Redis no es la única opción. La URL redis://broker:6379 indica el protocolo, no el nombre del producto.
¿Cuándo hace falta más RAM?
Amplía recursos o reduce la concurrencia si observas presión sostenida de memoria, fallos OCR o procesos terminados por falta de memoria. Compara importaciones representativas con otros trabajos detenidos antes de atribuir todos los retrasos a la RAM. La swap puede servir de margen de emergencia, pero no acelera un OCR sobrecargado. Si compartes servidor con Coolify o Dokploy, incluye también su consumo.
Los 6 mejores proveedores de VPS para Paperless-ngx
Estos proveedores ofrecen máquinas virtuales Linux con administración root/SSH para instalar Docker manualmente. Selecciona una imagen Ubuntu de 64 bits compatible, comprueba las condiciones de IPv4 y restringe SSH antes de instalar. Sus CPU compartidas no garantizan una velocidad de OCR.
1. LightNode: flexibilidad de facturación por horas
LightNode Agency anuncia 2 vCPU, 4GB RAM, 50GB NVMe y 2TB de tráfico, con referencia mensual de $14.70. Premium aumenta CPU/RAM a 4 vCPU/8GB y tráfico a 3TB por $27.70, pero sigue incluyendo 50GB de disco. Agency es un punto de evaluación razonable para OCR personal habitual; Premium deja más margen de concurrencia, sin resolver las necesidades de disco de una biblioteca grande.
Linux, acceso root, una oferta de IP dedicada y ubicaciones en varios continentes permiten un alojamiento Docker convencional. Confirma la dirección estática y la región al contratar. La documentación de facturación describe discos adicionales, pero su capacidad y precio requieren presupuesto en consola. No des por hecha una ampliación ilimitada barata ni una aplicación oficial Paperless-ngx con un clic.
Start, el nivel inferior, ofrece 1 vCPU/2GB por $7.71, por debajo de nuestro punto inicial de 2 vCPU. Las FAQ explican la cuota por horas, el límite de 672 horas dentro de un mes natural completo, las reglas de tráfico aparte y los cargos por instancias detenidas. Consulta el precio de snapshots y copias de seguridad por separado. La flexibilidad de facturación ayuda a evaluar ajustes OCR, pero no demuestra velocidad de procesamiento.
2. Hetzner: ubicación en la UE tras comprobar el presupuesto
CPX22 anuncia 2 vCPU, 4GB y 80GB NVMe. El catálogo también mostraba avisos de indisponibilidad y precios según región, por lo que indicamos Consultar precio actual, sin presentarlo como ganador económico contratable confirmado. CPX12 es el nivel inferior de 1 vCPU/2GB, con menos margen para OCR.
CPX22 anuncia 20TB de transferencia en la UE y 1TB en Singapur. La IPv4 principal cuesta €0.50/mes sin IVA; la facturación por horas tiene tope mensual. Confirma las imágenes Linux disponibles y el total de la ubicación elegida.
Los volúmenes permiten ampliar el sistema de archivos multimedia sin cambiar CPU/RAM. Sus datos no se incluyen en las copias ni snapshots del servidor. Las copias diarias del servidor tienen siete posiciones; comprueba las tarifas de respaldo y volúmenes. Merece compararse para archivos en la UE tras confirmar capacidad, con un procedimiento de copia separado para cada volumen conectado.
3. DigitalOcean: primer despliegue documentado
Basic Regular 4GiB ofrece 2 vCPU, 80GiB SSD y 4,000GiB de transferencia por $24/mes. La entrada de $4/512MiB no encaja en nuestra estimación de toda la pila; incluso el nivel de $12/2GiB solo tiene una vCPU. El recomendado es un inicio más viable para OCR habitual.
La documentación de Ubuntu, el aprovisionamiento con claves SSH y los firewalls facilitan el primer despliegue. Incluye una IPv4 principal estándar y regiones de América, Europa y Asia-Pacífico. Se factura por segundo con tope mensual y un mínimo de 60 segundos o $0.01, la cantidad mayor.
Los volúmenes cuestan $0.10/GiB/mes; confirma disponibilidad regional y presupuesta sus snapshots aparte. Las copias porcentuales semanales cuestan el 20% y las diarias el 30%. Las imágenes de Droplet no cubren un volumen conectado. La ventaja es la documentación y la claridad de recursos; PostgreSQL, OCR y recuperación siguen a tu cargo.
4. Vultr: opciones regionales de VPS
La API pública de planes lista vc2-2c-4gb: 2 vCPU, 4GB RAM, 80GB SSD y 3,072GB de transferencia por $20/mes o $0.027/hora en regiones base. São Paulo cuesta $30. El plan inferior de 1 vCPU/1GB cuesta $5; no debe confundirse con el coste de la configuración OCR recomendada.
El catálogo incluye varios continentes, aunque un plan bajo demanda no reserva capacidad. Comprueba la imagen Linux y la configuración estándar con IPv4. Usa el firewall del proveedor junto con controles del host.
La disponibilidad y precio de Block Storage dependen de la región. Las copias automáticas añaden un 20% y excluyen Block Storage; los snapshots tienen tarifas aparte. El plan de 4 vCPU/8GB/160GB cuesta $40 en regiones base si las mediciones justifican más recursos. Elígelo por una combinación adecuada de región y disco, sin presuponer ventajas de latencia u OCR no probadas.
5. Akamai Cloud: alojamiento de uso general
La API de tipos de Linode lista Linode 4GB por $24/mes o $0.036/hora: 2 vCPU, 80GB de disco y 4,000GB de transferencia. El extra de copias cuesta $5/mes en regiones base. Nanode 1GB parte de $5, pero queda por debajo de la planificación de toda la pila de este tutorial.
Las imágenes Linux, SSH, IPv4 principal incluida y firewalls permiten una instalación convencional. Hay regiones en América, Europa y Asia-Pacífico. El recomendado cuesta $28.80 en Yakarta y $33.60 en São Paulo, con precios distintos de respaldo. La facturación por horas tiene topes mensuales; los recursos asignados siguen generando cargos aunque se detengan.
Block Storage permite ampliar el archivo; verifica región, capacidad y precio antes de mover documentos. Las copias de instancias Linode excluyen los volúmenes conectados. Usa exportaciones de la aplicación y almacenamiento cifrado independiente. Es una opción general cuando encajan precio y ubicación, no un servicio OCR especializado.
6. Contabo: configuraciones con más recursos
La documentación actual de VPS lista Cloud VPS 4 con 4 vCPU compartidas, 8GB RAM y 100GB SSD. Cloud VPS Plus 4 es otro producto con 150GB NVMe. Más memoria puede ayudar al escaneo frecuente, pero estos recursos anunciados no prueban velocidad de procesamiento PDF.
Se documentan Linux/root, una IPv4 estática y firewall de red. Cloud VPS 4 tiene puerto de 200Mbit/s; el tráfico ilimitado anunciado está sujeto a uso razonable. Confirma recargos regionales e imágenes disponibles.
No se confirmó el precio público de contratación: Consultar precio actual, incluidos alta, plazo y renovación. Los planes mayores y Storage VPS son alternativas; no los trates como discos conectables sin verificar compatibilidad. Auto Backup y snapshots tienen cobertura y cargos específicos. Compara el plan completo de disco y recuperación, especialmente cuando el archivo supere el disco del sistema.
¿Cuánto almacenamiento necesita Paperless-ngx?
Pueden coexistir el original y su versión PDF/A de archivo. Los ajustes OCR y el tipo de archivo afectan a su generación; forzar la rasterización puede aumentar el tamaño. Texto extraído, registros de base de datos, índices y miniaturas añaden espacio. La guía de uso explica que los archivos consumidos correctamente salen de la bandeja y entran en el archivo gestionado.
Los siguientes presupuestos ilustrativos son supuestos, no multiplicadores medidos. Suponen versiones de archivo aproximadamente tan grandes como los originales y asignaciones auxiliares explícitas. El sistema operativo y las imágenes de contenedor se calculan aparte del estado auxiliar del archivo. El espacio libre cubre OCR temporal, actualizaciones y crecimiento cercano. La capacidad externa supone dos conjuntos completos sin comprimir de originales, archivos y estado auxiliar; retención, cifrado y deduplicación modifican el resultado.
| Originales | Espacio adicional estimado | Espacio operativo libre | Presupuesto de disco principal | Capacidad de copia externa |
|---|---|---|---|---|
| 5GB | 5GB de archivo + 2GB auxiliares + 8GB de sistema | 10GB | 30GB | Unos 24GB, más configuración/sobrecarga |
| 50GB | 50GB de archivo + 10GB auxiliares + 10GB de sistema | 30GB | 150GB | Unos 220GB, más configuración/sobrecarga |
| 200GB | 200GB de archivo + 30GB auxiliares + 10GB de sistema | 60GB | 500GB | Unos 860GB, más configuración/sobrecarga |
Importa una muestra y mide por separado media, data, base de datos y pico de espacio temporal. Reserva espacio adicional antes de una exportación local completa. La columna externa indica capacidad, no un precio. Para una biblioteca de 200GB, pide presupuesto de disco utilizable y respaldo antes de contratar un VPS de 50GB. Monta el almacenamiento persistente antes de importar; cambiar después el montaje sin mover archivos puede ocultar el archivo documental existente.
¿Cuánto cuesta alojar Paperless-ngx?
| Escenario | Referencia de cómputo verificada | IPv4 | Ampliación | Copia opcional del proveedor | Previsión externa/dominio | Presupuesto mensual |
|---|---|---|---|---|---|---|
| Archivo personal, unos 5GB originales | LightNode Agency $14.70 | Confirmar IP dedicada incluida al contratar | Ninguna dentro de 50GB | Presupuesto aparte, excluido | $2 externos; dominio existente $0 | $16.70 + opciones sin presupuesto |
| Familia, unos 50GB originales | Vultr 4 vCPU/8GB/160GB $40 | Plan estándar; confirmar pedido | Ninguna si cabe el presupuesto medido | 20% = $8 | $6 externos + $1 dominio | $55 |
| OCR empresarial pequeño, unos 200GB originales | DigitalOcean 4 vCPU/8GiB/160GiB $48 | Principal incluida | Volumen multimedia de 500GiB = $50 | Semanal 20% = $9.60 | $20 externos + $1 dominio | $128.60 |
Las cantidades de almacenamiento externo y dominio son previsiones editoriales, no ofertas contratables ni garantías de que quepa la retención indicada. Pide precio de capacidad, recuperación y salida de datos. El ejemplo empresarial añade un volumen multimedia de 500GiB por el precio publicado al disco raíz de 160GiB; supera el presupuesto ilustrativo total de 500GB y deja margen para sistema/base de datos. Confirma montajes, capacidad utilizable y espacio de exportación. GB y GiB son unidades distintas; conserva las del proveedor. Estos totales base excluyen el espacio temporal de una exportación completa. Bajo los supuestos anteriores, la biblioteca de 50GB requiere unos 110GB adicionales para exportar, que no caben junto a los datos activos en una raíz de 160GB. Presupuesta un volumen temporal separado o más capacidad antes de usar el procedimiento local. Las cuotas de respaldo del proveedor no protegen los volúmenes conectados. Impuestos, excesos de tráfico, correo y administración se suman aparte. Los totales no incluyen descuentos promocionales.
Cómo instalar Paperless-ngx en un VPS Ubuntu
Este procedimiento para una instalación nueva usa la plantilla oficial versionada de PostgreSQL. Utiliza Ubuntu 24.04 LTS, una clave SSH y tu dominio. No se afirma haber desplegado un VPS contratado ni medido el OCR. Los comandos se ejecutan como root; un host nuevo evita sobrescribir instalaciones existentes.
1. Instalar Docker Engine y Compose
ssh ubuntu@YOUR_SERVER_IP
sudo -i
apt update
apt upgrade -y
apt install -y ca-certificates curl python3 age
install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
chmod a+r /etc/apt/keyrings/docker.asc
cat > /etc/apt/sources.list.d/docker.sources <<EOF_DOCKER
Types: deb
URIs: https://download.docker.com/linux/ubuntu
Suites: $(. /etc/os-release && echo "${UBUNTU_CODENAME:-$VERSION_CODENAME}")
Components: stable
Architectures: $(dpkg --print-architecture)
Signed-By: /etc/apt/keyrings/docker.asc
EOF_DOCKER
apt update
apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
docker run --rm hello-world
docker compose versionRevisa los requisitos de Docker para Ubuntu, paquetes incompatibles y limitaciones del firewall. Reinicia y reconecta si hace falta. Paperless exige Docker y Compose; aquí se utiliza el plugin mantenido, no el ejecutable antiguo docker-compose.
2. Descargar y adaptar los archivos oficiales
umask 077
install -d -m 0700 /opt/paperless
cd /opt/paperless
# Stop here if this directory already contains an installation.
test ! -e docker-compose.yml && test ! -e .env && test ! -e docker-compose.env || exit 1
PAPERLESS_RELEASE=v3.3.4
COMPOSE_BASE="https://raw.githubusercontent.com/paperless-ngx/paperless-ngx/${PAPERLESS_RELEASE}/docker/compose"
curl -fL "$COMPOSE_BASE/docker-compose.postgres.yml" -o docker-compose.yml
curl -fL "$COMPOSE_BASE/docker-compose.env" -o docker-compose.env
curl -fL "$COMPOSE_BASE/.env" -o .env
cp docker-compose.yml docker-compose.upstream.yml
install -d -o 1000 -g 1000 -m 0700 consume exportCambia paperless.example.com antes de ejecutar el siguiente bloque. Esta transformación comprobada fija la versión, enlaza HTTP a loopback y sustituye la contraseña predeterminada de la base de datos. Conserva los volúmenes oficiales data, media, pgdata y redisdata; el último guarda el estado de Valkey. PostgreSQL 18 monta /var/lib/postgresql: no sustituyas esa ruta por la de una versión principal anterior.
python3 - <<'PY_CONFIG'
from pathlib import Path
import secrets
p = Path('docker-compose.yml')
s = p.read_text()
changes = {
'ghcr.io/paperless-ngx/paperless-ngx:latest': 'ghcr.io/paperless-ngx/paperless-ngx:3.3.4',
'"8000:8000"': '"127.0.0.1:8000:8000"',
'POSTGRES_PASSWORD: paperless': 'POSTGRES_PASSWORD: "${POSTGRES_PASSWORD:?Set database password}"',
'PAPERLESS_DBENGINE: postgresql': 'PAPERLESS_DBENGINE: postgresql\n PAPERLESS_DBPASS: "${POSTGRES_PASSWORD:?Set database password}"',
}
for old, new in changes.items():
assert s.count(old) == 1, f'Unexpected upstream template: {old}'
s = s.replace(old, new)
p.write_text(s)
with Path('.env').open('a') as f:
f.write('\nPOSTGRES_PASSWORD=' + secrets.token_hex(32) + '\n')
e = Path('docker-compose.env')
t = e.read_text()
assert t.count('PAPERLESS_SECRET_KEY=change-me') == 1
t = t.replace('PAPERLESS_SECRET_KEY=change-me',
'PAPERLESS_SECRET_KEY=' + secrets.token_urlsafe(64))
t += '''
PAPERLESS_URL=https://paperless.example.com
PAPERLESS_TIME_ZONE=UTC
PAPERLESS_ACCOUNT_ALLOW_SIGNUPS=false
USERMAP_UID=1000
USERMAP_GID=1000
PAPERLESS_OCR_LANGUAGE=eng
PAPERLESS_OCR_MODE=auto
PAPERLESS_TASK_WORKERS=1
PAPERLESS_THREADS_PER_WORKER=1
'''
e.write_text(t)
PY_CONFIG
chmod 0600 .env docker-compose.env docker-compose.yml
docker compose config --quiet
docker compose pull
docker compose up -d
docker compose ps
docker compose logs --tail=100 webserver db broker
docker compose exec webserver createsuperuserEspera al arranque correcto y las migraciones antes de crear el administrador. Introduce una contraseña única de forma interactiva; evita credenciales en comandos y archivos de entorno en Git. config --quiet comprueba sintaxis sin imprimir secretos resueltos. Asigna acceso del escáner al UID/GID elegido con permisos limitados; evita chmod 777. Docker puede iniciar como root para preparar el contenedor y luego reducir privilegios; este ejemplo no añade un modo rootless.
3. Activar HTTPS y comprobar una importación
Apunta el registro A al VPS; publica AAAA solo si funcionan rutas y firewall IPv6. Mantén privado el puerto 8000, restringe SSH a direcciones de confianza y permite TCP 80/443 para el proxy. No publiques PostgreSQL 5432 ni Valkey 6379. Los puertos publicados por Docker pueden eludir supuestos habituales de UFW.
Instala Caddy desde su repositorio oficial Debian/Ubuntu:
apt install -y debian-keyring debian-archive-keyring apt-transport-https gnupg
curl -fsSL https://dl.cloudsmith.io/public/caddy/stable/gpg.key \
| gpg --dearmor -o /usr/share/keyrings/caddy-stable-archive-keyring.gpg
curl -fsSL https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt \
-o /etc/apt/sources.list.d/caddy-stable.list
chmod o+r /usr/share/keyrings/caddy-stable-archive-keyring.gpg
chmod o+r /etc/apt/sources.list.d/caddy-stable.list
apt update
apt install -y caddyEn el servidor nuevo, escribe lo siguiente en /etc/caddy/Caddyfile, sustituyendo el dominio:
paperless.example.com {
reverse_proxy 127.0.0.1:8000
}caddy validate --config /etc/caddy/Caddyfile
systemctl reload caddy
curl -I https://paperless.example.comUsa DNS directo para esta configuración básica; otros proxies añaden condiciones de confianza y límites de subida. Inicia sesión por HTTPS, sube un PDF escaneado sin datos sensibles, espera a que termine la tarea y busca una palabra distintiva de la imagen. Comprueba las descargas del original y la versión de archivo. Verifica con ss -lntp que 8000 solo escucha en loopback y que base de datos/intermediario no son accesibles públicamente. HTTPS protege el transporte, pero no cifra el archivo frente a los administradores del servidor.
Cómo configurar el OCR de Paperless-ngx
Paperless usa OCRmyPDF y Tesseract para OCR local. PAPERLESS_OCR_LANGUAGE selecciona idiomas unidos con +. PAPERLESS_OCR_LANGUAGES instala paquetes adicionales en Docker con sufijos separados por espacios. Los valores predeterminados documentados de la imagen comprobada incluyen inglés, alemán, italiano, español y francés.
Para documentos en inglés y turco, edita docker-compose.env:
PAPERLESS_OCR_LANGUAGE=eng+tur
PAPERLESS_OCR_LANGUAGES=tur
PAPERLESS_OCR_MODE=auto
PAPERLESS_TASK_WORKERS=1
PAPERLESS_THREADS_PER_WORKER=1Recrea la aplicación con docker compose up -d webserver y prueba un escaneo. Instalar idiomas adicionales requiere la inicialización normal del contenedor; la documentación prohíbe esta opción con rootless. Los nombres de paquete pueden diferir de los códigos de Tesseract, especialmente en variantes del chino.
En v3.3.4, auto omite OCR si hay suficiente texto incrustado y procesa los PDF que solo contienen imágenes. redo intenta reemplazar el OCR existente; force rasteriza y puede aumentar el tamaño; off desactiva OCR. Revisa la referencia antes de cambiar de modo. Tika y Gotenberg habilitan la conversión opcional de Office/.eml; no son obligatorios para PDF escaneados normales. Usa la plantilla oficial -tika si hace falta y calcula RAM adicional.
Cómo importar documentos automáticamente
El directorio consume, montado desde el host, acepta subidas del escáner o transferencias completadas; una importación correcta elimina el archivo de esa bandeja. Asegura que el UID de la aplicación pueda leerlo y eliminarlo. Sube primero a un directorio temporal y mueve el archivo completo a la bandeja en el mismo sistema de archivos para evitar importaciones parciales.
Con NFS/SMB sin inotify fiable, configura PAPERLESS_CONSUMER_POLLING_INTERVAL=10 en docker-compose.env: consulta cada diez segundos. PAPERLESS_CONSUMER_STABILITY_DELAY controla cuánto tiempo debe permanecer inalterado. Consulta la configuración versionada, sin copiar nombres antiguos de variables de sondeo.
Las cuentas de correo y sus reglas permiten importar adjuntos. Limita el acceso al buzón y revisa las reglas antes de autorizar borrado o movimiento. Etiquetas, corresponsales, reglas y flujos clasifican documentos; revisa sus resultados antes de confiar en la automatización. Un flujo de n8n es opcional y debe usar una identidad API restringida. La carpeta consume es una cola de entrada, no una copia de seguridad.
Cómo hacer copias de seguridad de Paperless-ngx
Sigue la guía oficial de administración. El exportador incluye originales, archivos procesados, miniaturas, metadatos/ajustes y contenido de la base de datos; excluye tokens API. Guarda Compose y los archivos de entorno aparte. El índice auxiliar de data puede reconstruirse desde documentos y metadatos restaurados; un plan basado en volúmenes también debe cubrir data, medios y una copia coherente de la base de datos.
Antes de exportar, pausa escáner, correo y automatizaciones, detén las ediciones y espera a que terminen todas las tareas. Mantén esta ventana durante la exportación. Prepara suficiente espacio temporal:
cd /opt/paperless
set -euo pipefail
umask 077
BACKUP_LABEL="$(date -u +%Y%m%dT%H%M%SZ)"
docker compose exec -T webserver document_exporter "../export/$BACKUP_LABEL"Genera una clave age con age-keygen -o recovery-key.txt en un equipo de recuperación de confianza y protege allí la clave privada. En el VPS sustituye el destinatario por su clave pública age1.... Utiliza un destino SSH externo bajo tu control:
AGE_RECIPIENT='REPLACE_WITH_YOUR_AGE_PUBLIC_RECIPIENT'
install -d -m 0700 /var/backups/paperless
BACKUP_FILE="/var/backups/paperless/$BACKUP_LABEL.tar.age"
set -euo pipefail
tar -C /opt/paperless -cf - "export/$BACKUP_LABEL" \
docker-compose.yml docker-compose.env .env \
| age -r "$AGE_RECIPIENT" -o "$BACKUP_FILE"
sha256sum "$BACKUP_FILE" > "$BACKUP_FILE.sha256"
scp "$BACKUP_FILE" "$BACKUP_FILE.sha256" backupuser@BACKUP_HOST:paperless/Revisa el resultado de cada comando y verifica el checksum remoto antes de dar la copia por terminada. Respalda /etc/caddy/Caddyfile y cualquier configuración adicional con la misma protección. Reanuda la entrada tras exportar correctamente. Investiga los fallos de la tubería; un archivo vacío o incompleto no sirve para recuperar. Define retención independiente y protege las exportaciones temporales sin cifrar. Contratos, facturas y documentos de identidad requieren acceso restringido y copias cifradas.
Prueba en otro host nuevo con la misma versión de Paperless, base de datos vacía y volúmenes media/data vacíos. Restaura la configuración revisada, descifra en un equipo de confianza (age -d -i recovery-key.txt -o recovery.tar BACKUP.tar.age), inspecciona y transfiere el contenido por SSH al nuevo directorio privado. No extraigas encima de una instalación activa. Pon la exportación fechada en export, conserva el acceso UID/GID, inicia base de datos/intermediario nuevos y ejecuta:
docker compose up -d db broker
docker compose run --rm webserver document_importer ../export/EXPORT_LABEL
docker compose up -d
docker compose exec webserver document_index reindexSustituye EXPORT_LABEL; importa antes de crear otro administrador, porque el importador exige una instalación vacía. Comprueba acceso, número de documentos, checksums de originales/archivos, etiquetas, búsqueda y una nueva importación. Regenera tokens API. Conserva servidor antiguo y DNS hasta validar la recuperación. Este procedimiento evita copiar el directorio de PostgreSQL en ejecución; los snapshots solos no garantizan coherencia entre base de datos y archivos.
Paperless-ngx frente a otros gestores documentales
| Herramienta | Complejidad | OCR | Organización | Planificación de hardware | Ideal para |
|---|---|---|---|---|---|
| Paperless-ngx | Aplicación, base de datos e intermediario | OCRmyPDF/Tesseract | Etiquetas, corresponsales y flujos | Concurrencia OCR y medios | Archivo personal/familiar consultable |
| Mayan EDMS | Más administración y configuración de flujos | OCR/reconocimiento de texto | Versiones, permisos y flujos | Evaluar despliegue y trabajadores | Equipos con procesos documentales |
| Docspell | Servidor REST y componente de procesamiento | Extracción de texto/OCR automáticos | Etiquetas y metadatos | Trabajos y servicios JVM | Entrada y organización automáticas |
Se comparan funciones y despliegues, no pruebas en máquinas equivalentes. Revisa las instrucciones actuales de cada proyecto; funciones de flujo más amplias pueden justificar mayor administración.
Seguridad y privacidad
Usa HTTPS, contraseñas robustas, doble factor integrado y códigos de recuperación sin conexión. Concede solo los permisos documentales necesarios y reserva el superusuario para administración. Una bóveda de contraseñas autoalojada ayuda a gestionar credenciales, pero necesita protección y copias propias.
Limita base de datos/intermediario a la red privada Docker. Protege SSH, cuentas del proveedor, credenciales de respaldo y configuración. Evita compartir el escáner sin restricciones. Revisa versiones fijadas y notas de migración, exporta antes de actualizar y mantén Docker/sistema al día. Los cambios de versión principal de PostgreSQL requieren su propia migración; cambiar la etiqueta de imagen no migra el directorio de datos.
Un VPS no vuelve seguros los documentos por sí mismo. Una cuenta del proveedor o servidor comprometidos pueden exponerlos. Documenta objetivos de recuperación y prueba restauraciones externas. Para un archivo doméstico privado puede convenir una VPN o acceso desde redes de confianza en lugar de exposición pública sin restricciones.
Problemas habituales de Paperless-ngx
| Problema | Diagnóstico seguro |
|---|---|
| El contenedor no arranca | Revisa docker compose ps, logs, sintaxis del entorno y arquitectura; no borres volúmenes |
| OCR ausente o incorrecto | Comprueba idiomas instalados, códigos y modo; prueba un escaneo sin información sensible |
| No aparecen documentos | Revisa permisos, cola y consumo correcto; comprueba duplicados antes de volver a subir |
| Falla la importación PDF | Lee el error y comprueba cifrado, corrupción y tamaño de páginas/imágenes sobre una copia |
| Falla PostgreSQL | Revisa estado, hostname del servicio y contraseñas coincidentes; no reinicies la base existente desde cero |
| Falla Redis/Valkey | Revisa estado y PAPERLESS_REDIS; no publiques 6379 como solución |
| Memoria insuficiente | Revisa docker stats, mensajes OOM del kernel y concurrencia; reduce tareas o amplía RAM |
| Disco lleno | Revisa df -h, df -i y exportaciones; conserva originales antes de mover copias revisadas |
| Errores de permisos | Comprueba UID/GID de consume/export y medios externos; evita escritura para todo el mundo |
| Fallos de subida en el proxy | Comprueba tamaños y tiempos límite en cada proxy/CDN y logs; prueba un PDF pequeño sin datos sensibles |
| La búsqueda omite archivos | Revisa OCR y tareas; ejecuta document_index reindex documentado tras una copia de seguridad |
¿Qué VPS elegir para Paperless-ngx?
LightNode Agency tiene la referencia mensual verificada más baja de los planes recomendados comparados: $14.70, con facturación flexible por horas. Esto excluye presupuestos sin verificar de Hetzner/Contabo, recargos regionales y extras de respaldo/disco. Sus 50GB sirven para un archivo personal pequeño mientras quepa el crecimiento medido.
Para OCR habitual evalúa 2 vCPU/4GB y concurrencia moderada. Vultr ofrece 80GB por $20 en regiones base; DigitalOcean y Akamai anuncian 2 vCPU/4GB/80GB por $24. Escaneos frecuentes o una pequeña empresa pueden justificar 4 vCPU/8GB, acceso controlado y recuperación definida. Las bibliotecas mayores necesitan presupuesto de volumen multimedia y retención externa adecuada, sea cual sea el proveedor.
Preguntas frecuentes
¿Cuál es el mejor VPS para Paperless-ngx?
Elige según OCR medido y disco utilizable. LightNode Agency es la referencia recomendada verificada más baja aquí; Vultr, DigitalOcean y Akamai incluyen más disco por mayor precio.
¿Cuánta RAM necesita Paperless-ngx?
Estimamos 2GB para evaluar una biblioteca pequeña con cuidado y 4GB para OCR habitual, incluidos Linux y contenedores principales. Son orientaciones, no mínimos oficiales universales.
¿Puede funcionar en un VPS de 2GB?
Puede evaluarse con poca concurrencia y archivos modestos. Escaneos grandes, idiomas adicionales y conversiones pueden superar la RAM disponible; mide los picos.
¿Requiere PostgreSQL?
No. También admite SQLite y MariaDB. La documentación recomienda PostgreSQL para instalaciones nuevas y este tutorial usa su plantilla.
¿Necesita Redis?
Necesita un intermediario compatible con Redis para el trabajo en segundo plano. La plantilla comprobada usa Valkey, sin exigir Redis específicamente.
¿Cuánto espacio ocupa?
Suma originales, posibles versiones de archivo, datos auxiliares y margen operativo. Mide importaciones representativas; el número de documentos no basta para estimarlo.
¿Es gratuito autoalojarlo?
El proyecto es de código abierto bajo GPL-3.0. Pagas cómputo, disco utilizable, copias independientes y administración.
¿Reconoce PDF escaneados con OCR?
Sí. Usa OCRmyPDF/Tesseract localmente. Los paquetes correctos y los recursos de procesamiento influyen en los resultados.
¿Cómo hago una copia de seguridad?
Usa el exportador oficial durante una ventana sin actividad, guarda la configuración, cifra copias externas y prueba el importador en una instalación vacía con la misma versión.
¿Puedo alojarlo en Ubuntu?
Sí. Ubuntu compatible con Docker Engine y el plugin Compose permite ejecutar la pila oficial. Mantén el puerto web privado detrás de HTTPS.
Para un archivo pequeño, empieza con mediciones y OCR moderado. Calcula 2 vCPU/4GB para uso habitual, amplía CPU/RAM cuando lo justifique la monitorización y compra disco para originales y versiones procesadas. Incluye desde el principio una copia cifrada cuya recuperación hayas probado.