Tropic Host

Paperless-ngx: собствен OCR архив на документи във VPS

6 минути четене
Tropic
Paperless-ngx: собствен OCR архив на документи във VPS

Language: bg

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
Търсене по име на файлаТърсене в текста на документа
Един файл, една папкаМножество тагове и атрибути
Ръчно именуване и сортиранеАвтоматично задаване на метаданни
Прикачените файлове се запазват ръчноИмпортиране от имейл
Сканираният документ остава изображениеOCR прави текста откриваем

Вместо да помните директория, е достатъчно да запомните една дума от документа.

Как Paperless-ngx обработва файл

След качване услугата:

  1. запазва оригиналния файл;
  2. извлича наличния текст или стартира OCR;
  3. създава архивна PDF версия и миниатюри при нужда;
  4. добавя съдържанието към пълнотекстов индекс;
  5. прилага правила и предлага кореспондент, тип, тагове и път за съхранение.

Можете да започнете с качване и търсене, а по-късно да добавите автоматизация.

Най-полезните функции на Paperless-ngx

Търсене в сканирани документи

След OCR можете да намерите договор по адрес, фактура по клиентски номер и касова бележка по модел на устройство. Например търсенето на „early termination“ ще покаже документи с тази фраза, дори когато оригиналният PDF е съдържал само изображения.

Качеството зависи от сканирането: права страница с висок контраст се разпознава по-добре от тъмна снимка, направена под ъгъл. За руски и английски архив е важно да инсталирате и двата OCR езика.

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

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

За строга логика можете да създадете правила по текст, име на файл, източник или папка за качване.

Импортиране от имейл

Услугата може да проверява пощенска кутия през IMAP и да обработва съобщенията по правила. Например може да взема само PDF прикачени файлове от доставчик, да ги изпраща в архива и след това да маркира имейла като прочетен или да го премести в друга папка.

Фактурите вече не се натрупват във входящата поща, а стават откриваеми заедно със сканираните документи.

Работни процеси, полета и запазени изгледи

Работните процеси изпълняват действия при качване, добавяне или промяна на документ, както и по график. Те могат да зададат собственик, да добавят таг, да изберат тип и да определят път за съхранение.

Персонализираните полета превръщат архива в малка база данни. За договор можете да запишете дата на изтичане, за фактура — сума и краен срок за плащане, а за оборудване — сериен номер. Запазените изгледи могат да показват например „изисква се плащане“ или „гаранцията изтича този месец“.

Пакетно сканиране с баркодове

Paperless-ngx може да раздели едно голямо сканиране на няколко документа чрез баркодове. Можете да поставите разделителни страници между листовете или да добавите ASN код към първата страница.

ASN е архивен сериен номер, който свързва цифровото копие с хартиения оригинал. Това е удобно при дигитализиране на големи купчини.

Версии и опционален AI

Серията Paperless-ngx 3.x въведе версии на документите, набори от връзки за споделен достъп и вградени AI функции. Когато е свързан модел, услугата може да предлага метаданни и да отговаря на въпроси за документите.

AI не е нужен за основните функции: OCR, търсенето, правилата, таговете и имейл импортът работят и без него. При използване на външен AI API част от текста може да напусне сървъра, докато локалният модел изисква повече ресурси.

За кого е подходящ Paperless-ngx

За личен или семеен архив: договори, застрахователни полици, извлечения, гаранции, касови бележки, жилищни документи и ръководства за оборудване.

За фрийлансъри и малък бизнес: фактури, приемо-предавателни протоколи, договори, разходи и кореспонденция с контрагенти. Импортът от имейл намалява ръчната работа, а правата за достъп позволяват споделяне на документи.

За административни процеси: бързо търсене в първични документи, избор по доставчик и период и опашка от необработени файлове.

Paperless-ngx не заменя счетоводен софтуер, електронен подпис или корпоративна ECM система.

Какъв сървър е необходим за Paperless-ngx

Натоварването зависи от броя страници, качеството на сканиране, честотата на качване и допълнителните компоненти. Можете да използвате следните практически отправни точки:

СценарийCPURAMДиск
Личен архив2 vCPU2 GB30–50 GB NVMe или повече
Семейство или малък екип2–4 vCPU4 GB60–100 GB NVMe или повече
Големи партиди, Office файлове, локален AI4 vCPU или повече8 GB или повечеРазмерът на архива плюс свободен резерв

На слаб сървър интерфейсът може да работи нормално, но OCR за големи документи ще бъде бавен. Tika и Gotenberg за Word, Excel и други Office формати също увеличават използването на памет.

Планирайте диска с резерв: освен оригиналите системата може да съхранява архивни версии, миниатюри, индекс, база данни и временни файлове. За архивите също е нужно отделно място.

Инсталиране на Paperless-ngx във VPS с Docker

Най-простият поддържан метод е Docker Compose. Нужни са Linux сървър, Docker Engine и Compose plugin.

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

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 и инсталирате допълнителните езикови данни rus eng в Docker.

Не излагайте директно вътрешния порт на приложението. Свържете домейн чрез 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 ключове, строга защитна стена и независими резервни копия.

Сигурност и резервни копия

Paperless-ngx няма вградено end-to-end криптиране за документите. Потребител с пълен достъп до сървъра, Docker томовете или резервно копие потенциално може да прочете архива.

Минимални мерки:

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

За миграция и архивиране има вграден document_exporter:

docker compose exec webserver document_exporter ../export

Копирайте директорията с експорта на друго устройство или независимо хранилище. Копие на същия VPS няма да ви защити от повреда на диска, случайно изтриване или загуба на достъп.

Струва ли си да инсталирате Paperless-ngx?

Paperless-ngx е полезен, когато проблемът вече не е съхраняването на файлове, а намирането им. Той превръща сканирани документи, прикачени файлове и PDF файлове с неясни имена в архив, в който документите се намират по съдържание и се обработват по последователни правила.

За начало е достатъчно да инсталирате услугата, да настроите OCR езиците и да качите първите файлове. Тагове, имейл импорт, работни процеси, баркодове и AI функции си струва да добавите, когато имате ясен и повтарящ се процес.

Често задавани въпроси

Може ли Paperless-ngx да се използва безплатно?

Да. Това е проект с отворен код. Разходи има само за хардуер, VPS, домейн или външни услуги.

Разпознава ли Paperless-ngx текст на руски?

Да. OCR използва езиковия пакет rus на Tesseract. За смесен архив обикновено се настройва rus+eng.

Изтрива ли се оригиналният файл след OCR?

Не. Оригиналният файл се запазва. В зависимост от настройките до него може да бъде създадена отделна архивна PDF версия.

Могат ли документи да се качват от телефон?

Да. Можете да използвате уеб интерфейса, API, съвместимо мобилно приложение или да препратите документа към свързан имейл адрес.

Достатъчно ли е резервно копие на VPS?

Snapshot на VPS е полезен, но е по-добре да го комбинирате с вградения exporter и да пазите отделно копие. Важно е не само да създадете архив, но и да проверите възстановяването при чиста инсталация.