====== Paperless-ngx ====== [[informatica:software:aplicaciones_web|Aplicación web]] para almacenar documentos escaneados y buscar fácilmente en ellos. Paperless-ngx es un derivado del proyecto original [[https://github.com/the-paperless-project/paperless|Paperless]] y [[informatica:software:aplicaciones_web:paperless-ng|Paperless-ng]], pero que añade una nueva interfaz y más opciones. * [[https://github.com/paperless-ngx/paperless-ngx|Repositorio oficial]] (GitHub) {{ https://docs.paperless-ngx.com/assets/screenshots/documents-smallcards.png |}} ===== Características ===== * **Organiza e indexa** tus documentos escaneados con etiquetas, corresponsales, tipos y más. * Tus datos se **almacenan localmente en tu servidor** y nunca se transmiten ni comparten de ninguna manera. * Realiza **OCR** en tus documentos, añadiendo texto buscable y seleccionable, incluso a documentos escaneados sólo con imágenes. * Utiliza el motor de código abierto **Tesseract** para reconocer más de 100 idiomas. * Los documentos se guardan en **formato PDF/A**, diseñado para el almacenamiento a largo plazo, junto con los originales inalterados. * Utiliza el aprendizaje automático para añadir automáticamente etiquetas, corresponsales y tipos de documentos a tus documentos. * Admite documentos PDF, imágenes, archivos de texto plano, documentos de Office (Word, Excel, Powerpoint y equivalentes de LibreOffice) y más. * Paperless almacena tus documentos sin formato en disco. Los nombres de archivo y las carpetas son gestionados por paperless y su formato puede ser configurado libremente con diferentes configuraciones asignadas a diferentes documentos. * Aplicación web moderna que cuenta con: * Panel de control personalizable con estadísticas. * Filtrado por etiquetas, corresponsales, tipos y más. * Edición masiva de etiquetas, corresponsales, tipos y más. * Carga de documentos por arrastrar y soltar en toda la aplicación. * Las vistas personalizables se pueden guardar y mostrar en el panel de control y/o en la barra lateral. * Soporte para campos personalizados de varios tipos de datos. * Enlaces públicos compartibles con caducidad opcional. * Búsqueda de texto completo * Procesamiento de correo electrónico * Un robusto sistema de permisos multiusuario integrado que admite permisos "globales" así como por documento u objeto. * Un potente sistema de flujo de trabajo que te da aún más control. * El verificador de sanidad integrado se asegura de que tu archivo de documentos esté en buen estado. ===== Instalación ===== ==== Docker ==== Paperless-ng puede utilizar SQLite o PostgreSQL como motores de bases de datos. Utilizaremos 3 ficheros: * ''.env'': * ''docker-compose.env'': variables de entorno que le pasaremos a ''docker-compose.yml''. * ''docker-compose.yml'' Fichero ''docker-compose.env'': # The UID and GID of the user used to run paperless in the container. Set this # to your UID and GID on the host so that you have write access to the # consumption directory. USERMAP_UID=1000 USERMAP_GID=1000 # Additional languages to install for text recognition, separated by a # whitespace. Note that this is # different from PAPERLESS_OCR_LANGUAGE (default=eng), which defines the # default language used when guessing the language from the OCR output. # The container installs English, German, Italian, Spanish and French by # default. # See https://packages.debian.org/search?keywords=tesseract-ocr-&searchon=names&suite=buster # for available languages. #PAPERLESS_OCR_LANGUAGES=tur ces ############################################################################### # Paperless-specific settings # ############################################################################### # All settings defined in the paperless.conf.example can be used here. The # Docker setup does not use the configuration file. # A few commonly adjusted settings are provided below. # Adjust this key if you plan to make paperless available publicly. It should # be a very long sequence of random characters. You don't need to remember it. PAPERLESS_SECRET_KEY=lo-que-quieras # Use this variable to set a timezone for the Paperless Docker containers. If not specified, defaults to UTC. PAPERLESS_TIME_ZONE=Europe/Madrid # The default language to use for OCR. Set this to the language most of your # documents are written in. PAPERLESS_OCR_LANGUAGE=spa Para elegir el idioma español en Tesseract (el software que usa Paperless-ng para el OCR), se indica con el valor ''spa''. Utilizando SQLite: version: "3.4" services: broker: image: redis:6.0 container_name: redis-paperless restart: always webserver: image: jonaswinkler/paperless-ng:0.9.13 container_name: paperless-app restart: always depends_on: - broker ports: - 8000:8000 healthcheck: test: ["CMD", "curl", "-f", "http://localhost:8000"] interval: 30s timeout: 10s retries: 5 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 volumes: data: media: Utilizando PostgreSQL: # Docker Compose file for running paperless from the Docker Hub. # This file contains everything paperless needs to run. # Paperless supports amd64, arm and arm64 hardware. # # All compose files of paperless configure paperless in the following way: # # - Paperless is (re)started on system boot, if it was running before shutdown. # - Docker volumes for storing data are managed by Docker. # - Folders for importing and exporting files are created in the same directory # as this file and mounted to the correct folders inside the container. # - Paperless listens on port 8000. # # In addition to that, this Docker Compose file adds the following optional # configurations: # # - Instead of SQLite (default), PostgreSQL is used as the database server. # # To install and update paperless with this file, do the following: # # - Copy this file as 'docker-compose.yml' and the files 'docker-compose.env' # and '.env' into a folder. # - Run 'docker compose pull'. # - Run 'docker compose run --rm webserver createsuperuser' to create a user. # - Run 'docker compose up -d'. # # For more extensive installation and update instructions, refer to the # documentation. 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: - pgdata:/var/lib/postgresql/data environment: POSTGRES_DB: paperless POSTGRES_USER: paperless POSTGRES_PASSWORD: paperless 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 volumes: data: media: pgdata: redisdata: Antes de lanzar todo, debemos crear una cuenta de administrador: docker-compose run --rm webserver createsuperuser Nos hará preguntas: Starting redis-paperless ... done Operations to perform: Apply all migrations: admin, auth, authtoken, contenttypes, django_q, documents, paperless_mail, sessions Running migrations: No migrations to apply. Username (leave blank to use 'paperless'): foo Email address: foo@example.org Password: Password (again): Superuser created successfully. Finalmente podremos desplegarlo todo: docker-compose up -d