Stirling PDF na VPS-ie: instalacja własnego edytora PDF

6 min czytania
Tropic
Stirling PDF na VPS-ie: instalacja własnego edytora PDF

Language: pl

Stirling PDF: jak zainstalować własny edytor PDF na VPS-ie

Aby połączyć umowę z załącznikiem, skompresować skan paszportu albo ukryć dane płatności, wiele osób przesyła dokument do pierwszej znalezionej usługi internetowej. Razem z plikiem na stronę zewnętrzną mogą trafić podpisy, adresy, faktury i inne poufne dane.

Stirling PDF oferuje inne podejście. To aplikacja webowa z dziesiątkami narzędzi do pracy z PDF-ami, którą możesz uruchomić na własnym VPS-ie. Interfejs otwiera się w przeglądarce na komputerze lub telefonie, a serwer przetwarza dokumenty.

Poniżej omówimy najciekawsze funkcje Stirling PDF, wymagania serwera oraz instalację na Ubuntu za pomocą Docker Compose, z uwierzytelnianiem i HTTPS.

Czym jest Stirling PDF?

Stirling PDF to samodzielnie hostowana platforma do edycji i przetwarzania plików PDF. Łączy ponad 55 operacji: scalanie i dzielenie plików, zmianę kolejności stron, kompresję, konwersję, OCR, podpisy, znaki wodne, porównywanie dokumentów oraz usuwanie metadanych i poufnych informacji.

Usługi można używać jako aplikacji desktopowej, produktu chmurowego lub własnego serwera. W trybie self-hostingu pliki są przetwarzane przez twoją instancję Stirling PDF, a dostęp można zabezpieczyć hasłem i HTTPS. Darmowa edycja serwerowa jest przeznaczona dla grup do pięciu użytkowników; dla większych zespołów i określonych funkcji firmowych dostępne są edycje płatne.

Główna różnica w porównaniu ze zwykłym konwerterem online to kontrola. Wybierasz dostawcę, lokalizację serwera, użytkowników i reguły dostępu. Nie musisz też szukać osobnej strony do każdej operacji: jeden interfejs zastępuje zestaw usług do kompresji, konwersji, podpisywania i OCR.

Najciekawsze funkcje Stirling PDF

Wizualne zarządzanie stronami

W trybie Multi-Tool dokument jest wyświetlany jako siatka miniatur. Strony można przeciągać, obracać, usuwać, dzielić, wstawiać w wymaganym miejscu i eksportować wybiórczo. Plik jest przesyłany tylko raz, a zmiany obsługują cofanie i ponawianie.

OCR dla skanowanych dokumentów

OCR dodaje warstwę tekstową do zeskanowanego PDF-a. Po przetworzeniu można wyszukiwać słowa w dokumencie, zaznaczać tekst i kopiować go. Dostępne są prostowanie przekrzywienia, usuwanie szumu i poprawa kontrastu. Dla języka rosyjskiego trzeba osobno dodać pakiet Tesseract rus.traineddata.

Bezpieczne redagowanie danych

Czarny prostokąt nałożony na numer konta nie zawsze usuwa oryginalny tekst. Narzędzie Redact może usunąć dopasowania ze struktury PDF-a, zamiast tylko przykrywać je warstwą wizualną. Obszar można zaznaczyć ręcznie albo przeszukać cały dokument pod kątem numerów telefonu, adresów e-mail, numerów kart i innych danych za pomocą słów lub wyrażeń regularnych.

Porównywanie wersji i skaner mobilny

Compare pokazuje, które słowa dodano lub usunięto między dwiema wersjami umowy, raportu albo specyfikacji technicznej. Do dokumentów papierowych służy skaner mobilny: na komputerze pojawia się kod QR, telefon przesyła zdjęcia bezpośrednio do bieżącej sesji, a pliki tymczasowe są automatycznie usuwane po pobraniu lub po dziesięciu minutach bezczynności.

Automatyzacja i API

Automate działa jak makra dla plików PDF. Możesz na przykład raz zapisać następujący workflow:

OCR → remove blank pages → compress → add a watermark → set a password

Ten sam workflow można potem zastosować do nowych plików bez powtarzania każdego kroku. Stirling PDF obsługuje również przetwarzanie plików z obserwowanego folderu i udostępnia REST API z wbudowaną dokumentacją Swagger.

Jakiego VPS-a potrzebuje Stirling PDF?

Przetwarzanie PDF-a może wymagać znacznie więcej pamięci niż zajmuje plik źródłowy. OCR, konwersja stron do obrazów i konwersja dokumentów biurowych przez LibreOffice są szczególnie zasobożerne.

Do wdrożenia testowego wystarczy 2 GB RAM-u, ale do regularnego używania lepiej wybrać:

  • 2 vCPU;
  • 4 GB RAM-u;
  • co najmniej 10–20 GB wolnego miejsca na dysku SSD lub NVMe;
  • Ubuntu 22.04 lub 24.04.

Jeśli kilku użytkowników jednocześnie wykonuje OCR lub konwersję, rozsądniej wybrać 4 vCPU i 8 GB RAM-u. Na serwerze o małej mocy dostępny jest obraz latest-ultra-lite, natomiast latest-fat zawiera dodatkowe czcionki i narzędzia do konwersji wyższej jakości. Standardowy obraz latest pasuje do większości użytkowników.

Instalacja Stirling PDF za pomocą Docker Compose

W poniższej konfiguracji kontener nasłuchuje wyłącznie na interfejsie lokalnym. Dostęp z zewnątrz będzie później przechodzić przez Nginx z HTTPS, więc port 8080 nie zostanie wystawiony na cały Internet.

Krok 1. Zainstaluj Dockera

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

Sprawdź instalację:

docker --version
docker compose version

Krok 2. Utwórz konfigurację Docker Compose

mkdir -p /opt/stirling-pdf/{configs,logs,pipeline}
cd /opt/stirling-pdf
nano docker-compose.yml

Dodaj konfigurację:

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

Uruchom usługę:

docker compose up -d
docker compose ps

Do diagnostyki użyj:

docker compose logs --tail=100 stirling-pdf

Krok 3. Zaloguj się po raz pierwszy

Przed skonfigurowaniem domeny otwórz interfejs przez tunel SSH. Polecenie uruchom na swoim komputerze:

ssh -L 8080:127.0.0.1:8080 root@SERVER_IP

Przejdź do http://localhost:8080. Domyślne dane pierwszego logowania to użytkownik admin i hasło stirling. Natychmiast zmień hasło w ustawieniach konta.

Podłączenie domeny i HTTPS

Utwórz rekord DNS typu A dla adresu takiego jak pdf.example.com i skieruj go na adres IP serwera. Następnie zainstaluj Nginx i Certbota:

apt install -y nginx certbot python3-certbot-nginx
nano /etc/nginx/sites-available/stirling-pdf

Dodaj konfigurację i zamień nazwę domeny:

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;
    }
}

Włącz witrynę i pobierz certyfikat:

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 jest teraz dostępny przez HTTPS, a wewnętrzny port 8080 pozostaje zamknięty. Dla plików większych niż 500 MB zwiększ client_max_body_size.

Jak dodać rosyjski OCR?

Utwórz katalog i pobierz angielskie oraz rosyjskie pakiety 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

Dodaj poniższy wiersz do sekcji volumes pliku docker-compose.yml:

      - ./tessdata:/usr/share/tessdata

Zastosuj zmiany i sprawdź dostępne języki:

docker compose up -d
docker exec stirling-pdf tesseract --list-langs

Lista powinna zawierać eng i rus.

Bezpieczeństwo, aktualizacje i ograniczenia

Przed regularnym używaniem zmień domyślne hasło, pozostaw włączone uwierzytelnianie, nie wystawiaj portu 8080 i zezwalaj przez zaporę wyłącznie na SSH, HTTP oraz HTTPS. Katalogi configs i pipeline należy uwzględnić w kopiach zapasowych. Analityka Stirling PDF jest włączana dopiero po zgodzie użytkownika i może zostać całkowicie wyłączona przez administratora.

Aby zaktualizować aplikację, uruchom:

cd /opt/stirling-pdf
docker compose pull
docker compose up -d

Stirling PDF obsługuje większość codziennych zadań, ale przy konwersji między PDF-em a formatami biurowymi nie zawsze zachowuje złożony układ. OCR nie rozpoznaje struktury tabel i wzorów, a jakość rozpoznawania odręcznego lub bardzo małego tekstu jest ograniczona. Aby uzyskać dobre wyniki, używaj wyraźnych skanów o rozdzielczości około 300 DPI.

Stirling PDF na VPS-ie od tropic.host

Usługa nie wymaga karty graficznej: ważniejsze są RAM, stabilna wydajność CPU i szybkie miejsce na dane. Lepiej wybrać lokalizację blisko użytkowników, ponieważ duże dokumenty są najpierw przesyłane na serwer, a potem ponownie pobierane.

Do prywatnej instancji lub małego zespołu zwykle wystarczy VPS Linux z 2 vCPU i 4 GB RAM-u. Na VPS-ie od tropic.host możesz zainstalować Ubuntu, uruchomić przedstawioną konfigurację Docker Compose i hostować interfejs na osobnej subdomenie. Dodatkowa pamięć jest szczególnie ważna, jeśli na tym samym serwerze działają inne kontenery.

Podsumowanie

Stirling PDF zamienia VPS w własną usługę webową do pracy z dokumentami. Łączy dziesiątki narzędzi i obsługuje OCR, rzeczywiste usuwanie poufnych danych, porównywanie wersji, skanowanie mobilne, automatyzację oraz API.

Głównym powodem samodzielnego wdrożenia jest kontrola nad plikami. W przypadku umów, faktur, formularzy i dokumentów wewnętrznych chroniona instancja z uwierzytelnianiem i HTTPS jest wygodniejsza niż zestaw przypadkowych konwerterów online.

FAQ

Czy Stirling PDF jest darmowy?

Tak. Darmowa edycja self-hosted obsługuje do pięciu użytkowników. Większe zespoły i organizacje potrzebujące funkcji firmowych wymagają edycji płatnej.

Czy dokumenty opuszczają mój serwer?

W trybie self-hostingu są przetwarzane przez twoją własną instancję Stirling PDF. Ostateczny poziom bezpieczeństwa zależy od konfiguracji VPS-a, HTTPS, haseł, aktualizacji i dostępu administratora.

Czy 2 GB RAM-u wystarczy?

Do testów i lekkich operacji — tak. Do regularnego używania, OCR i konwersji lepiej wybrać 4 GB RAM-u, a przy jednoczesnych zadaniach jeszcze więcej.

Czy domena jest wymagana?

Nie. Usługę można otworzyć po adresie IP lub przez tunel SSH. Domena przydaje się jako wygodny stały adres i do prawidłowej konfiguracji HTTPS.

Czy obsługiwany jest rosyjski OCR?

Tak. Dodaj plik rus.traineddata do katalogu Tesseract i zamontuj go w kontenerze.