Stirling PDF: как установить собственный PDF-редактор на VPS
Чтобы объединить договор с приложением, сжать скан паспорта или скрыть реквизиты, многие загружают документ в первый найденный онлайн-сервис. Вместе с файлом стороннему сайту могут передаваться подписи, адреса, счета и другие конфиденциальные данные.
Stirling PDF предлагает другой подход. Это веб-приложение с десятками инструментов для PDF, которое можно запустить на собственном VPS. Панель открывается в браузере с компьютера или телефона, но документы обрабатывает ваш сервер.
Ниже разберем самые интересные функции Stirling PDF, требования к серверу и установку на Ubuntu через Docker Compose с авторизацией и HTTPS.
Что такое Stirling PDF
Stirling PDF — self-hosted платформа для редактирования и обработки PDF. Она объединяет более 55 операций: объединение и разделение файлов, перестановку страниц, сжатие, конвертацию, OCR, подписи, водяные знаки, сравнение документов, удаление метаданных и конфиденциальных данных.
Сервис можно использовать как настольное приложение, облачный продукт или собственный сервер. В self-hosted режиме файлы обрабатываются вашим экземпляром Stirling PDF, а доступ к нему можно закрыть паролем и HTTPS. Бесплатный серверный вариант рассчитан на группу до пяти пользователей; для больших команд и части корпоративных функций существуют платные редакции.
Главное отличие от обычного онлайн-конвертера — контроль. Вы выбираете провайдера, локацию сервера, пользователей и правила доступа. При этом не приходится искать отдельный сайт для каждой операции: одна панель заменяет набор сервисов для сжатия, конвертации, подписи и OCR.
Самые интересные функции Stirling PDF
Визуальная работа со страницами
В режиме Multi-Tool документ показывается сеткой миниатюр. Страницы можно перетаскивать, поворачивать, удалять, разделять, вставлять в нужное место и экспортировать выборочно. Файл загружается один раз, а изменения поддерживают отмену и возврат.
OCR для сканов
OCR добавляет текстовый слой в отсканированный PDF. После обработки по документу можно искать слова, выделять и копировать текст. Доступны выравнивание перекошенных страниц, очистка шума и повышение контраста. Для русского языка нужно отдельно добавить пакет Tesseract rus.traineddata.
Безопасное удаление данных
Черный прямоугольник поверх номера счета не всегда удаляет исходный текст. Инструмент Redact умеет вырезать совпадения из структуры PDF, а не просто закрывать их визуальным слоем. Можно вручную отметить область либо найти во всем документе телефоны, электронные адреса, номера карт и другие данные по словам или регулярным выражениям.
Сравнение версий и мобильный сканер
Compare показывает, какие слова добавились или исчезли между двумя редакциями договора, отчета или технического задания. Для бумажных документов есть мобильный сканер: на компьютере отображается QR-код, телефон загружает фотографии прямо в текущую сессию, а временные файлы автоматически удаляются после скачивания или десяти минут бездействия.
Автоматизации и API
Automate работает как макросы для PDF. Например, можно один раз сохранить цепочку:
OCR → удалить пустые страницы → сжать → добавить водяной знак → установить пароль
Затем тот же сценарий применяется к новым файлам без повторения каждого шага. Stirling PDF также поддерживает обработку файлов из отслеживаемой папки и REST API со встроенной Swagger-документацией.
Какой VPS нужен для Stirling PDF
Обработка PDF может требовать намного больше памяти, чем занимает исходный файл. Особенно ресурсоемки OCR, преобразование страниц в изображения и конвертация офисных документов через LibreOffice.
Для тестового запуска достаточно 2 ГБ RAM, но для постоянного использования лучше ориентироваться на:
- 2 vCPU;
- 4 ГБ RAM;
- от 10–20 ГБ свободного места на SSD или NVMe;
- Ubuntu 22.04 или 24.04.
Если несколько пользователей одновременно запускают OCR или конвертацию, разумнее выбрать 4 vCPU и 8 ГБ RAM. Для слабого сервера существует образ latest-ultra-lite, а latest-fat содержит дополнительные шрифты и инструменты для более качественной конвертации. Большинству подойдет стандартный latest.
Установка Stirling PDF через Docker Compose
Ниже контейнер слушает только локальный интерфейс. Внешний доступ позже будет идти через Nginx с HTTPS, поэтому порт 8080 не окажется открытым для всего интернета.
Шаг 1. Установите Docker
ssh root@SERVER_IP
apt update && apt upgrade -y
apt install -y curl
curl -fsSL https://get.docker.com -o get-docker.sh
sh get-docker.sh
rm get-docker.shПроверьте установку:
docker --version
docker compose versionШаг 2. Создайте Docker Compose
mkdir -p /opt/stirling-pdf/{configs,logs,pipeline}
cd /opt/stirling-pdf
nano docker-compose.ymlДобавьте конфигурацию:
services:
stirling-pdf:
image: docker.stirlingpdf.com/stirlingtools/stirling-pdf:latest
container_name: stirling-pdf
restart: unless-stopped
ports:
- "127.0.0.1:8080:8080"
volumes:
- ./configs:/configs
- ./logs:/logs
- ./pipeline:/pipeline
environment:
- SECURITY_ENABLELOGIN=true
- SYSTEM_DEFAULTLOCALE=ru-RU
- SYSTEM_GOOGLEVISIBILITY=falseЗапустите сервис:
docker compose up -d
docker compose psДля диагностики используйте:
docker compose logs --tail=100 stirling-pdfШаг 3. Выполните первый вход
До настройки домена откройте панель через SSH-туннель. Команда выполняется на вашем компьютере:
ssh -L 8080:127.0.0.1:8080 root@SERVER_IPПерейдите на http://localhost:8080. Стандартные данные первого входа: логин admin, пароль stirling. Сразу замените пароль в настройках учетной записи.
Подключение домена и HTTPS
Создайте DNS-запись типа A для адреса вроде pdf.example.com, направив ее на IP сервера. Затем установите Nginx и Certbot:
apt install -y nginx certbot python3-certbot-nginx
nano /etc/nginx/sites-available/stirling-pdfДобавьте конфигурацию, заменив домен:
server {
listen 80;
server_name pdf.example.com;
client_max_body_size 500M;
location / {
proxy_pass http://127.0.0.1:8080;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_read_timeout 300s;
}
}Активируйте сайт и получите сертификат:
ln -s /etc/nginx/sites-available/stirling-pdf /etc/nginx/sites-enabled/stirling-pdf
nginx -t
systemctl reload nginx
certbot --nginx -d pdf.example.comТеперь Stirling PDF доступен по HTTPS, а внутренний порт 8080 остается закрытым. Для файлов крупнее 500 МБ увеличьте client_max_body_size.
Как добавить русский OCR
Создайте каталог и скачайте английский и русский пакеты Tesseract:
cd /opt/stirling-pdf
mkdir -p tessdata
curl -L -o tessdata/eng.traineddata \
https://raw.githubusercontent.com/tesseract-ocr/tessdata_fast/main/eng.traineddata
curl -L -o tessdata/rus.traineddata \
https://raw.githubusercontent.com/tesseract-ocr/tessdata_fast/main/rus.traineddataДобавьте в volumes файла docker-compose.yml строку:
- ./tessdata:/usr/share/tessdataПримените изменения и проверьте языки:
docker compose up -d
docker exec stirling-pdf tesseract --list-langsВ списке должны появиться eng и rus.
Безопасность, обновления и ограничения
Перед постоянным использованием смените стандартный пароль, оставьте авторизацию включенной, не публикуйте порт 8080 и разрешите в firewall только SSH, HTTP и HTTPS. Каталоги configs и pipeline стоит включить в резервные копии. Аналитика Stirling PDF включается только после согласия пользователя и может быть полностью отключена администратором.
Обновление выполняется так:
cd /opt/stirling-pdf
docker compose pull
docker compose up -dStirling PDF закрывает большинство повседневных задач, но не всегда сохраняет сложную верстку при конвертации между PDF и офисными форматами. OCR не распознает структуру таблиц и формул, а качество рукописного или мелкого текста ограничено. Для хорошего результата желательно использовать четкие сканы с разрешением около 300 DPI.
Stirling PDF на VPS от tropic.host
Для сервиса не нужна видеокарта: важнее RAM, стабильный процессор и быстрый диск. Локацию лучше выбирать ближе к пользователям, поскольку большие документы сначала загружаются на сервер, а затем скачиваются обратно.
Для личного экземпляра или небольшой команды обычно достаточно Linux VPS с 2 vCPU и 4 ГБ RAM. На VPS от tropic.host можно установить Ubuntu, запустить приведенный Docker Compose и разместить панель на отдельном поддомене. Запас памяти особенно важен, если на том же сервере работают другие контейнеры.
Краткий вывод
Stirling PDF превращает VPS в собственный веб-сервис для документов. Он объединяет десятки инструментов, поддерживает OCR, настоящее удаление конфиденциальных данных, сравнение версий, мобильное сканирование, автоматизации и API.
Главная причина развернуть его самостоятельно — контроль над файлами. Для договоров, счетов, анкет и внутренних документов защищенный экземпляр с авторизацией и HTTPS удобнее набора случайных онлайн-конвертеров.
FAQ
Stirling PDF бесплатный?
Да, бесплатный self-hosted вариант рассчитан максимум на пять пользователей. Более крупным командам и организациям с корпоративными функциями нужна платная редакция.
Покидают ли документы мой сервер?
В self-hosted режиме их обрабатывает ваш экземпляр Stirling PDF. Итоговая безопасность зависит от настройки VPS, HTTPS, паролей, обновлений и доступа администраторов.
Хватит ли 2 ГБ RAM?
Для теста и легких операций — да. Для постоянной работы, OCR и конвертации лучше выбрать 4 ГБ RAM, а при параллельной нагрузке — больше.
Нужен ли домен?
Нет. Сервис можно открыть по IP или через SSH-туннель. Домен нужен для удобного постоянного адреса и нормальной настройки HTTPS.
Поддерживается ли русский OCR?
Да. Нужно добавить файл rus.traineddata в каталог Tesseract и подключить его к контейнеру.
