Paperless-ngx: как создать собственный поисковый архив документов
Вы помните, что в договоре была важная сумма, но файл называется scan_2024_03_17.pdf и лежит среди сотен таких же. Обычный файловый менеджер ищет по названию, а нужные слова находятся внутри скана.
Paperless-ngx решает эту проблему. Вы загружаете PDF, фотографию квитанции или вложение из письма, а сервис распознает текст, индексирует его и превращает разрозненные файлы в единый архив. После этого документ можно найти по фамилии, адресу, номеру счета или любой фразе внутри страницы.
Что такое Paperless-ngx
Paperless-ngx — бесплатная система управления документами с открытым исходным кодом. Она устанавливается на собственный сервер, принимает файлы из разных источников, выполняет OCR и дает искать по содержимому.
Вместо одной жесткой структуры папок используются корреспонденты, типы документов, теги, даты, пользовательские поля и правила хранения. Так можно за секунды показать счета за электричество за 2026 год, документы по конкретной квартире или гарантии, срок которых скоро закончится.
Чем Paperless-ngx лучше обычных папок
Папки работают, пока документов мало и вы помните собственную систему именования. Через несколько лет появляются каталоги Документы, Сканы, Новые и Разобрать, а найти нужный файл становится трудно.
| Обычная папка | Paperless-ngx |
|---|---|
| Поиск по имени файла | Поиск по тексту внутри документа |
| Один файл — одна папка | Несколько тегов и атрибутов |
| Ручные названия и сортировка | Автоматическое назначение метаданных |
| Вложения нужно сохранять вручную | Импорт из электронной почты |
| Скан остается изображением | OCR делает текст доступным для поиска |
Вместо попытки вспомнить каталог достаточно вспомнить одно слово из документа.
Как Paperless-ngx обрабатывает файл
После загрузки сервис:
- сохраняет исходный файл;
- извлекает готовый текст или запускает OCR;
- при необходимости создает архивную PDF-версию и миниатюры;
- добавляет содержимое в полнотекстовый индекс;
- применяет правила и предлагает корреспондента, тип, теги и путь хранения.
Начать можно с загрузки и поиска, а автоматизацию добавлять позже.
Самые полезные функции 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
Нагрузка зависит от числа страниц, качества сканов, частоты загрузок и дополнительных компонентов. Для старта можно использовать такие практические ориентиры:
| Сценарий | CPU | RAM | Диск |
|---|---|---|---|
| Личный архив | 2 vCPU | 2 ГБ | от 30–50 ГБ NVMe |
| Семья или небольшая команда | 2–4 vCPU | 4 ГБ | от 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 полезен, но лучше сочетать его со встроенным экспортером и хранить копию отдельно. Важно не только создавать архив, но и проверять восстановление на чистой установке.
