Главная/Self-hosted/Paperless-ngx

Paperless-ngx в Docker: установка на свой сервер

Paperless-ngx в Docker ставится установочным скриптом или готовым docker-compose для вашей базы данных: веб-интерфейс открывается на порту 8000, а новые документы берутся из папки consume. Это домашний архив бумаг: сканы и PDF распознаются, получают метки и находятся полнотекстовым поиском, даже если в имени файла написано scan_0042.

4 мин чтенияДанные проверены 16 октября 2026

Ответ за 30 секунд

Для начала возьмите 2 ядра и 2-4 ГБ памяти: основную работу делает OCR на процессоре. Русский язык включается двумя переменными, а копии делает команда document_exporter, которая сохраняет документы вместе с метаданными.

Сервер с Docker и 40 ГБ NVMe подойдёт для первых тысяч страниц, диск можно увеличить позже.

Сколько ресурсов нужно Paperless-ngx

01 · 1 мин

Что делает Paperless-ngx и чем он отличается от папки со сканами#

Paperless-ngx это система учёта документов с открытым кодом. Вы кладёте в папку скан договора или счёта, программа распознаёт текст, определяет автора, тип и метки и сохраняет файл вместе с поиском по содержимому. Оригинал остаётся нетронутым, рядом создаётся копия в формате PDF/A для долгого хранения.

От папки с файлами это отличается поиском по словам внутри сканов и правилами: счета от одного поставщика получают одни метки и один тип автоматически. Для общих файлов компании и совместной работы подходит Nextcloud, а Paperless-ngx отвечает за архив бумаг. Работать с самими PDF (склеить, сжать, поставить пароль) удобнее в Stirling PDF.

Инструмент · 1 мин

Сколько ресурсов нужно Paperless-ngx#

Документация не называет минимальную конфигурацию. Она сообщает только, что Paperless-ngx работает на Linux, для установки через Docker нужны Docker и Docker Compose, а запускается он в том числе на Raspberry Pi. Поэтому рассчитывайте от самой тяжёлой операции: распознавания текста.

OCR держит ядра занятыми, пока обрабатывается каждая страница, поэтому важнее число ядер, чем память. Диск растёт вместе с архивом: оригинал, копия PDF/A и миниатюры занимают места больше, чем один исходный скан.

Какой сервер взять под Paperless-ngx

Сколько документов и как часто вы их загружаете

Сколько документов в архиве
Как часто загружаете
Документы Office

03 · 1 мин

Установка Paperless-ngx через скрипт и docker-compose#

  1. Подготовьте сервер с Docker и Docker Compose. Для Paperless-ngx хватит чистого Ubuntu.
  2. Запустите установочный скрипт. Он задаёт вопросы про порт, часовой пояс и базу, создаёт файлы, скачивает образ, запускает контейнеры и заводит администратора.
  3. Откройте http://127.0.0.1:8000 через туннель SSH или через прокси и войдите созданной учётной записью.
  4. Допишите настройки в файл docker-compose.env и пересоздайте контейнеры.
bash -c "$(curl --location --silent --show-error https://raw.githubusercontent.com/paperless-ngx/paperless-ngx/main/install-paperless-ngx.sh)"

Ручной путь: из репозитория скачивают один файл docker-compose.*.yml под выбранную базу, сохраняют его как docker-compose.yml и добавляют рядом docker-compose.env и .env. Файлы со словом tika в названии добавляют разбор документов Office. Порт по умолчанию 8000, его меняют в строке вида 8010:8000.

За прокси укажите адрес в переменной PAPERLESS_URL: Caddy получит сертификат на домен сам. Ключ PAPERLESS_SECRET_KEY нужно задать длинным случайным значением, иначе третьи лица смогут подделывать данные для входа.

04 · 1 мин

OCR на русском в Paperless-ngx: PAPERLESS_OCR_LANGUAGE и языковые пакеты#

Из коробки Paperless-ngx распознаёт английский. Для русского нужны две строки в docker-compose.env: язык распознавания и пакет языка в контейнере.

PAPERLESS_OCR_LANGUAGE=rus+eng
PAPERLESS_OCR_LANGUAGES=rus
PAPERLESS_TIME_ZONE=Europe/Moscow

PAPERLESS_OCR_LANGUAGE указывает языки документов через плюс, первым пишут основной. PAPERLESS_OCR_LANGUAGES устанавливает пакет Tesseract в контейнер при старте. Без второй строки русский язык в списке есть, а файлов языка нет, и распознавание не заработает.

Качество зависит от скана: при 300 dpi и ровной странице результат заметно лучше, чем у фото с телефона под углом. Прогоните три-четыре документа до того, как загрузите весь архив.

05 · 1 мин

Как документы попадают в Paperless-ngx: папка consume, почта и сканер#

Папка на сервере примонтирована в контейнер как /usr/src/paperless/consume. Всё, что в неё попадает, обрабатывается и пропадает из папки, оставаясь в архиве. Положить файлы в неё можно несколькими способами.

  • Из браузера. Перетащите файл на страницу Paperless-ngx.
  • Синхронизация. Папку на домашнем компьютере с отсканированными бумагами связывают с папкой consume через Syncthing: сканер кладёт файл на компьютер, а тот сам уезжает на сервер.
  • Сетевая папка сканера. Многие сканеры умеют отправлять файлы по SFTP или в сетевую папку, настройка зависит от модели.

06 · 1 мин

Копии и обновление Paperless-ngx в Docker#

Для копий в Paperless-ngx есть отдельная команда: экспортёр сохраняет документы вместе с метаданными в папку export, откуда её забирают на другой сервер или в S3. Копия базы одного PostgreSQL без файлов бесполезна, а копия файлов без базы теряет метки и правила. Схему хранения копий описывает страница про бэкапы.

docker compose exec webserver document_exporter ../export

Перед обновлением читайте руководство по миграции

Документация предупреждает, что переход с версии 2 на версию 3 содержит несовместимые изменения. Сделайте экспорт, прочтите руководство для вашей версии и только потом меняйте образ командами docker compose pull и docker compose up -d.

07 · 1 мин

Вопросы об установке Paperless-ngx#

Как установить Paperless-ngx через Docker?

Запустите установочный скрипт из репозитория: он задаст вопросы, создаст файлы, скачает образ и заведёт администратора. Или скачайте docker-compose.yml под свою базу и docker-compose.env вручную.

Как включить русский язык OCR в Paperless-ngx?

В docker-compose.env задайте PAPERLESS_OCR_LANGUAGE=rus+eng и PAPERLESS_OCR_LANGUAGES=rus, затем пересоздайте контейнеры. Вторая переменная устанавливает пакет языка.

Какой порт у Paperless-ngx?

8000. В docker-compose.yml его меняют строкой вида 8010:8000, а за обратным прокси открывают по домену с HTTPS.

Как сделать резервную копию Paperless-ngx?

Команда document_exporter сохраняет документы и метаданные в папку export. Её копию храните на другом сервере или в S3 отдельно от основной машины.

Почему этому можно верить

Как мы проверяли

Требования из документацииРесурсы, порты и команды сверены с официальной документацией, дата проверки указана.
Всё можно повторитьКоманды и расчёты описаны так, что их повторит любой читатель.
Независимый справочникНе связан с разработчиками приложений и провайдерами и пишет о минусах тоже.

Источники цифр на этой странице: VPS и VDS серверы Таймвеб Клауд, timeweb.cloud/services/vds-vps, проверено 14 октября 2026; Маркетплейс приложений Таймвеб Клауд, timeweb.cloud/marketplace, проверено 14 октября 2026; Документация Paperless-ngx: установка (setup), docs.paperless-ngx.com/setup, проверено 15 октября 2026.

SBРедакция SelfBase · обновлено 16 октября 2026

Запустите свой сервер за пару минут

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

  • NVMe-диски и гарантированная доля процессора
  • Root-доступ и любой софт, от Docker до игровых серверов
  • Маркетплейс: 91 приложение в один клик
  • Бесплатный перенос проекта силами специалистов
Ресурсы