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 лучше обычных папок

Папки работают, пока документов мало и вы помните собственную систему именования. Через несколько лет появляются каталоги Документы, Сканы, Новые и Разобрать, а найти нужный файл становится трудно.

Обычная папкаPaperless-ngx
Поиск по имени файлаПоиск по тексту внутри документа
Один файл — одна папкаНесколько тегов и атрибутов
Ручные названия и сортировкаАвтоматическое назначение метаданных
Вложения нужно сохранять вручнуюИмпорт из электронной почты
Скан остается изображениемOCR делает текст доступным для поиска

Вместо попытки вспомнить каталог достаточно вспомнить одно слово из документа.

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

После загрузки сервис:

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

Начать можно с загрузки и поиска, а автоматизацию добавлять позже.

Самые полезные функции Paperless-ngx

Поиск внутри сканов

После OCR договор можно найти по адресу, счет — по номеру клиента, а чек — по модели устройства. Например, запрос «досрочное расторжение» покажет документы с этой фразой, даже если исходный PDF состоял только из изображений.

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

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

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

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

Импорт из электронной почты

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

Счета перестают копиться во входящих и ищутся вместе со сканами.

Workflows, поля и сохраненные представления

Workflows выполняют действия при загрузке, добавлении, изменении документа или по расписанию. Они могут назначить владельца, добавить тег, выбрать тип и путь хранения.

Пользовательские поля превращают архив в небольшую базу данных. Для договора можно хранить дату окончания, для счета — сумму и срок оплаты, для техники — серийный номер. Сохраненные представления покажут, например, «нужно оплатить» или «гарантия заканчивается в этом месяце».

Пакетное сканирование со штрихкодами

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

ASN — архивный серийный номер, связывающий цифровую копию с бумажным оригиналом. Это удобно при оцифровке больших стопок.

Версии и необязательный ИИ

В ветке Paperless-ngx 3.x появились версии документов, наборы ссылок для совместного доступа и встроенные AI-функции. При подключении модели сервис может предлагать метаданные и отвечать на вопросы по документам.

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

Кому подойдет Paperless-ngx

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

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

Для административных процессов: быстрый поиск первичных документов, выборки по поставщику и периоду, очередь необработанных файлов.

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

Какой сервер нужен для Paperless-ngx

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

СценарийCPURAMДиск
Личный архив2 vCPU2 ГБот 30–50 ГБ NVMe
Семья или небольшая команда2–4 vCPU4 ГБот 60–100 ГБ NVMe
Большие пачки, Office-файлы, локальный ИИот 4 vCPUот 8 ГБпо объему архива с запасом

На слабом сервере интерфейс может работать нормально, но 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-конфигурацию и запустит контейнеры.

На рабочем сервере безопаснее сначала скачать и просмотреть скрипт:

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 ГБ RAM и NVMe-диском. На tropic.host можно развернуть Ubuntu, установить Docker и держать Paperless-ngx доступным с компьютера и телефона без домашнего NAS.

VPS работает круглосуточно, поэтому сервис сможет регулярно забирать вложения из почты. Но документы часто содержат персональные данные: используйте HTTPS или VPN, SSH-ключи, закрытый firewall и независимые резервные копии.

Безопасность и резервные копии

Paperless-ngx не предоставляет встроенное сквозное шифрование документов. Пользователь с полным доступом к серверу, Docker-томам или резервной копии потенциально сможет прочитать архив.

Минимальные меры:

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

Для переноса и резервного копирования есть встроенный document_exporter:

docker compose exec webserver document_exporter ../export

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

Стоит ли устанавливать Paperless-ngx

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

Для начала достаточно установить сервис, настроить языки OCR и загрузить первые файлы. Теги, почтовый импорт, workflows, штрихкоды и AI-функции стоит добавлять тогда, когда появится понятный повторяющийся процесс.

FAQ

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

Да. Это проект с открытым исходным кодом. Расходы возникают только на оборудование, VPS, домен или внешние сервисы.

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

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

Удаляется ли оригинал после OCR?

Нет. Исходный файл сохраняется. В зависимости от настроек рядом с ним может создаваться отдельная архивная PDF-версия.

Можно ли загружать документы с телефона?

Да. Подойдут веб-интерфейс, API, совместимое мобильное приложение или пересылка документа на подключенную электронную почту.

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

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