Tropic Host

Paperless-ngx: власний архів документів з OCR на VPS

5 хв. читання
Tropic
Paperless-ngx: власний архів документів з OCR на VPS

Paperless-ngx: як створити власний архів документів із пошуком

Ви пам'ятаєте, що в договорі була важлива сума, але файл має назву scan_2024_03_17.pdf і лежить серед сотень подібних документів. Звичайний файловий менеджер шукає за назвою, тоді як потрібні слова знаходяться всередині скану.

Paperless-ngx розв'язує цю проблему. Ви завантажуєте PDF, фото квитанції або вкладення електронного листа, а сервіс розпізнає текст, індексує його й перетворює розрізнені файли на єдиний архів. Після цього документ можна знайти за прізвищем, адресою, номером рахунку або будь-якою фразою на сторінці.

Що таке Paperless-ngx?

Paperless-ngx — безкоштовна система керування документами з відкритим кодом. Вона працює на вашому сервері, приймає файли з різних джерел, виконує OCR і дає змогу шукати їхній вміст.

Замість однієї жорсткої структури папок використовуються кореспонденти, типи документів, теги, дати, власні поля та правила зберігання. Завдяки цьому за секунди можна показати рахунки за електроенергію за 2026 рік, документи певної квартири або гарантії, термін яких скоро спливає.

Чому Paperless-ngx кращий за звичайні папки

Папки працюють, доки документів мало і ви пам'ятаєте систему іменування. Через кілька років з'являються каталоги Documents, Scans, New і To sort, а пошук потрібного файлу ускладнюється.

Звичайна папкаPaperless-ngx
Пошук за назвою файлуПошук тексту всередині документа
Один файл — одна папкаКілька тегів і атрибутів
Ручне іменування та сортуванняАвтоматичне призначення метаданих
Вкладення потрібно зберігати вручнуІмпорт з email
Скан залишається зображеннямOCR робить текст доступним для пошуку

Замість того щоб пам'ятати каталог, достатньо пам'ятати одне слово з документа.

Як Paperless-ngx обробляє файл?

Після завантаження сервіс:

  1. зберігає оригінальний файл;
  2. витягує наявний текст або запускає OCR;
  3. створює архівну PDF-версію та мініатюри, коли це потрібно;
  4. додає вміст до повнотекстового індексу;
  5. застосовує правила й пропонує кореспондента, тип, теги та шлях зберігання.

Можна почати із завантаження та пошуку, а автоматизацію додати пізніше.

Найкорисніші можливості Paperless-ngx

Пошук усередині сканів

Після OCR договір можна знайти за адресою, рахунок — за номером клієнта, а квитанцію — за моделлю пристрою. Наприклад, пошук «early termination» покаже документи з цією фразою, навіть якщо початковий PDF складався лише із зображень.

Якість залежить від скану: рівна сторінка з високим контрастом розпізнається краще, ніж темне фото під кутом. Для російсько-англійського архіву важливо встановити обидві мови OCR.

Автоматичне сортування

Paperless-ngx може зіставляти нові документи з уже впорядкованими. Ви вручну позначаєте кілька рахунків одного постачальника, а сервіс навчається пропонувати такого самого кореспондента, тип і теги для наступних файлів.

Для точної логіки можна створювати правила на основі тексту, назви файлу, джерела або папки завантаження.

Імпорт з електронної пошти

Сервіс може перевіряти поштову скриньку через IMAP і обробляти повідомлення за правилами. Наприклад, він може брати лише PDF-вкладення від постачальника, надсилати їх до архіву, позначати лист прочитаним або переміщати його до іншої папки.

Рахунки перестають накопичуватися у вхідних і стають доступними для пошуку разом зі сканами.

Workflow, поля та збережені подання

Workflow виконують дії, коли документ завантажено, додано, змінено або настав запланований час. Вони можуть призначити власника, додати тег, вибрати тип і встановити шлях зберігання.

Власні поля перетворюють архів на невелику базу даних. Для договору можна зберегти дату завершення, для рахунку — суму та крайній термін оплати, а для обладнання — серійний номер. Збережені подання можуть показувати, наприклад, «потрібна оплата» або «гарантія спливає цього місяця».

Пакетне сканування зі штрихкодами

Paperless-ngx може розділити один великий скан на кілька документів за допомогою штрихкодів. Між паперами можна вставляти розділювальні сторінки або додавати ASN-код на перший аркуш.

ASN — архівний серійний номер, який пов'язує цифрову копію з паперовим оригіналом. Це зручно під час оцифрування великих стосів документів.

Версії та необов'язковий ШІ

Серія Paperless-ngx 3.x представила версії документів, набори посилань для спільного доступу та вбудовані функції ШІ. Після підключення моделі сервіс може пропонувати метадані та відповідати на запитання про документи.

ШІ не потрібен для основних можливостей: OCR, пошук, правила, теги та імпорт пошти працюють без нього. Під час використання зовнішнього API ШІ частина тексту може залишати сервер, а локальна модель потребує більше ресурсів.

Кому підходить Paperless-ngx?

Для особистого або сімейного архіву: договори, страхові поліси, виписки, гарантії, квитанції, документи на житло та інструкції до обладнання.

Для фрилансерів і малого бізнесу: рахунки, акти приймання, договори, витрати та листування з контрагентами. Імпорт пошти зменшує ручну роботу, а права доступу дають змогу ділитися документами.

Для адміністративних процесів: швидкий пошук першоджерел, вибірки за постачальником і періодом та черга необроблених файлів.

Paperless-ngx не замінює бухгалтерське програмне забезпечення, електронний підпис або корпоративну ECM-систему.

Який сервер потрібен Paperless-ngx?

Навантаження залежить від кількості сторінок, якості сканів, частоти завантажень і додаткових компонентів. Як старт можна використовувати такі практичні значення:

СценарійCPURAMДиск
Особистий архів2 vCPU2 GBВід 30–50 GB NVMe
Родина або невелика команда2–4 vCPU4 GBВід 60–100 GB NVMe
Великі пакети, Office-файли, локальний ШІВід 4 vCPUВід 8 GBРозмір архіву плюс запас

На слабкому сервері інтерфейс може працювати нормально, але OCR великих документів буде повільним. Tika та Gotenberg для Word, Excel та інших офісних форматів також збільшують використання пам'яті.

Плануйте диск із запасом: крім оригіналів, система може зберігати архівні версії, мініатюри, індекс, базу даних і тимчасові файли. Для резервних копій також потрібне окреме місце.

Встановлення Paperless-ngx на VPS за допомогою Docker

Найпростіший підтримуваний спосіб — Docker Compose. Потрібні Linux-сервер, Docker Engine і плагін Compose.

Офіційний проєкт надає інтерактивний інсталятор:

bash -c "$(curl -L https://raw.githubusercontent.com/paperless-ngx/paperless-ngx/main/install-paperless-ngx.sh)"

Він запитує каталог, базу даних, порт, мову OCR, додаткові компоненти та обліковий запис адміністратора, після чого створює конфігурацію Compose і запускає контейнери.

На production-сервері безпечніше спочатку завантажити й перевірити скрипт:

curl -L https://raw.githubusercontent.com/paperless-ngx/paperless-ngx/main/install-paperless-ngx.sh \
  -o install-paperless-ngx.sh
less install-paperless-ngx.sh
bash install-paperless-ngx.sh

Із каталогу встановлення запуск можна перевірити такими командами:

docker compose ps
docker compose logs -f webserver

Для OCR російською та англійською зазвичай задають rus+eng і встановлюють у Docker додаткові мовні дані rus eng.

Не відкривайте внутрішній порт застосунку напряму. Підключіть домен через reverse proxy, увімкніть HTTPS і закрийте непотрібні порти. Для особистого архіву ще безпечніше дозволити доступ лише через VPN.

Paperless-ngx на VPS від tropic.host

Для невеликого архіву підійде VPS із 2 vCPU, 2–4 GB RAM і NVMe-сховищем. На tropic.host можна розгорнути Ubuntu, встановити Docker і залишити Paperless-ngx доступним із комп'ютера та телефона без домашнього NAS.

VPS працює цілодобово, тому сервіс може регулярно збирати вкладення з пошти. Однак документи часто містять персональні дані: використовуйте HTTPS або VPN, SSH-ключі, суворий firewall і незалежні резервні копії.

Безпека та резервні копії

Paperless-ngx не надає вбудованого наскрізного шифрування документів. Користувач із повним доступом до сервера, Docker volume або резервної копії потенційно може прочитати архів.

Мінімальні заходи:

  • розміщуйте сервіс лише на надійній інфраструктурі;
  • оновлюйте систему та контейнери;
  • обмежте SSH ключами;
  • зберігайте зашифровані копії за межами основного сервера;
  • періодично перевіряйте відновлення.

Для міграції та резервних копій є вбудований document_exporter:

docker compose exec webserver document_exporter ../export

Скопіюйте каталог експорту на інший пристрій або незалежне сховище. Копія на тому самому VPS не захистить від пошкодження диска, випадкового видалення чи втрати доступу.

Чи варто встановлювати Paperless-ngx?

Paperless-ngx корисний, коли проблема вже не в зберіганні файлів, а в їхньому пошуку. Він перетворює скани, вкладення та PDF із незрозумілими назвами на архів, де документи знаходяться за вмістом і обробляються за послідовними правилами.

Для початку достатньо встановити сервіс, налаштувати мови OCR і завантажити перші файли. Теги, імпорт пошти, workflow, штрихкоди та функції ШІ варто додавати, коли у вас є чіткий повторюваний процес.

Поширені запитання

Paperless-ngx безкоштовний?

Так. Це проєкт із відкритим кодом. Витрати виникають лише на обладнання, VPS, домен або зовнішні сервіси.

Чи розпізнає Paperless-ngx російський текст?

Так. OCR використовує мовний пакет Tesseract rus. Для змішаного архіву зазвичай налаштовують rus+eng.

Чи видаляється оригінальний файл після OCR?

Ні. Оригінальний файл зберігається. Залежно від налаштувань поруч із ним може створюватися окрема архівна PDF-версія.

Чи можна завантажувати документи з телефона?

Так. Можна використовувати вебінтерфейс, API, сумісний мобільний застосунок або пересилати документ на підключену email-адресу.

Чи достатньо резервної копії VPS?

Snapshot VPS корисний, але краще поєднати його з вбудованим exporter і зберігати окрему копію. Важливо не лише створити архів, а й перевірити відновлення на чистій інсталяції.