An invoice to be paginated, a scanned contract to be compressed before being sent by email, an old document to be OCRed before being archived. Each of these activities has its own free online service, but each of them means uploading the document to someone else's server and restrictions in the free plan (file size limit, daily operation limit, watermark on the result). Stirling-PDF solves this as a single Docker container on your own Box: the same operations, without sending anything outside and without counting how many times you've used the tool today. In this guide, we show you how to set up Stirling-PDF on Saplo.
What is Stirling-PDF and who is it for?
Stirling-PDF is a self-hosted, browser-based PDF toolbox based on the official Docker image stirlingtools/stirling-pdf. In one place, you'll find over fifty operations: merging and splitting files, converting PDFs to Word, Excel or images and back again, compression, OCR of scanned pages, signing, password removal, and much more. It's perfect for:
- an office that daily merges, splits, or compresses PDF scans and invoices.
- anyone who wants to scan a paper document into searchable text (OCR) without uploading it to an external service.
- a company that needs convenient PDF conversion to other formats and back, without the daily limits of free online tools.
This is a different niche than Documenso, which focuses on electronic contract signing between parties. Stirling-PDF concentrates on working with the PDF file itself, not on document workflow.
Requirements
To set up Stirling-PDF on Saplo, you need:
- A Box with Docker running (the engine automatically enables it during installation from the catalog; container nesting is required, which Saplo has by default),
- A minimum of 2 GB RAM and 5 GB of disk space for the application itself. In practice, this means Box L for $146 per year: Box M has exactly 2 GB RAM, which is what the application itself requires, with no overhead for the system and other processes, so the Saplo engine recommends an upgrade in such a case,
- A domain or subdomain
*.saploapp.plincluded in the price of every plan, under which the tool will be hosted, - You do NOT need a separate database; Stirling-PDF does not maintain a persistent document library: files go in, are processed, and go out; nothing is permanently saved.
After installation on Box L, you will have 3.8 GB RAM and 50 GB disk space remaining, meaning you can fit up to 137 other applications from the catalog, such as Vaultwarden or Excalidraw.
Step-by-step installation
- In your Saplo panel, go to App catalog and select Stirling-PDF (category "Business").
- Select Box L or larger, and the domain or subdomain where the tool will operate.
- Confirm the installation. The engine deploys a container from the official
stirlingtools/stirling-pdfimage in its full version (with LibreOffice for format conversion and Tesseract for OCR inside), exposes it only to the Box's loopback, and connects it to nginx, which serves it under the specified domain with free SSL. - After the container starts, the engine also checks if Stirling-PDF is actually responding via HTTP on its own status endpoint, because the "container running" status alone doesn't mean that the process inside hasn't entered a restart loop shortly after.
- After the installation is complete, Stirling-PDF is available under the specified domain and ready to use, without any account required.
Security: no login by default
Stirling-PDF on Saplo starts without login, exactly like the official project demo: anyone who knows the address can process files. This is a conscious decision, the same model as with ntfy in the Saplo catalog. If you need a private instance accessible only to yourself or your team, you enable login manually: in the container options in the panel, set the variable SECURITY_ENABLELOGIN to true and restart the application. When starting for the first time with login enabled, Stirling-PDF creates the account admin/admin, which you should change immediately.
Polish OCR requires installing a language pack
Stirling-PDF's image has built-in Tesseract language packs for English, German, French, Portuguese, and Simplified Chinese, but NOT Polish. For OCR to work in Polish, you need to add the pol.traineddata file (available, for example, in the tessdata_fast Tesseract project repository) and copy it to the container's data volume via SSH, according to the instructions automatically saved in the STIRLING-PDF-SETUP.txt file on your Box after installation. Without this step, OCR will work, but it will not correctly recognize Polish diacritical marks in the scanned text.
Stirling-PDF on Saplo vs. online tools
| iLovePDF / Smallpdf (free plan) | Stirling-PDF on Saplo | |
|---|---|---|
| Where the document goes | to the provider's server | only on your Box |
| Size and operation limit | yes, daily limit in the free plan | you set the limit yourself (200 MB per file by default) |
| OCR | in the paid plan | included, Polish language needs to be installed manually |
| Watermark on the output | sometimes in the free plan | none |
| Cost | monthly subscription for the Pro version | cost of the Box itself, no additional charge for the tool |
Frequently asked questions
Does Stirling-PDF require an account or login? Not out of the box, the instance works immediately without logging in, just like the official demo. You enable login yourself in the container options, if you need a private instance.
Does OCR work in Polish out of the box?
No, the image only has English, German, French, Portuguese, and Simplified Chinese built in. Polish needs to be added manually; instructions are in the STIRLING-PDF-SETUP.txt file on Box after installation.
Does Stirling-PDF need a separate database? No, the entire application runs as a single container without a database; documents are not permanently stored, only processed and returned.
Are files left on the server after processing? No, Stirling-PDF is not a file storage system; a document comes in, is processed, and goes out. Nothing is permanently saved in the container.
What is the file size limit?
By default, 200 MB per file. The SYSTEM_MAXFILESIZE variable in the container options can be increased if you need more.
If your company processes dozens of PDF files daily, combining offers, compressing scans, or OCR-ing invoices, contact us, and we'll help you choose the right Box for your toolkit.
- #OCR
- #Guide
- #Self-hosted
- #Stirling-PDF
