Your PDFs, Your Server, Your Rules
Stirling PDF is an open-source, self-hosted web application that puts a full suite of PDF tools under your control – no subscriptions, no file uploads to third-party servers, no watermarks. It runs inside a Docker container, which means setup takes minutes rather than hours, and once it’s live, every document you process stays on your own infrastructure. For anyone handling contracts, internal reports, or sensitive client files, that distinction matters more than any feature list.
Most online PDF tools – Smallpdf, ILovePDF, Adobe Acrobat Online – work by uploading your document to their servers, processing it remotely, and returning a result. That workflow is fine for personal use, but it creates real problems in professional and regulated environments where file confidentiality is non-negotiable.
Stirling PDF solves that by moving the entire operation local.

What Stirling PDF Actually Does
The feature set is wide. Stirling PDF handles PDF merging, splitting, compression, conversion (to and from Word, images, HTML), page reordering, watermarking, redaction, OCR via Tesseract, and digital signatures. The interface is a clean web UI accessible through any browser on your network, which means it works just as well for a team of ten as it does for a solo developer running it on a home server.
The OCR integration is worth calling out separately. Many self-hosted PDF tools skip text recognition entirely, treating scanned documents as opaque image files. Stirling PDF integrates Tesseract OCR directly, so scanned PDFs become searchable and selectable text without any additional tooling. It supports multiple languages out of the box, which makes it genuinely usable in multilingual business environments, not just an English-language demo feature.
Conversion quality depends on your source documents – that’s true of every PDF tool, commercial or otherwise – but for standard office formats and clean scans, the output is consistently clean. Stirling PDF uses LibreOffice under the hood for document conversion, which handles formatting preservation better than lightweight alternatives. The compression tool also includes multiple presets, so you’re not forced into a one-size approach when file size matters.
Getting It Running with Docker
Docker is the fastest path to a working instance. If you already have Docker and Docker Compose installed, you can have Stirling PDF running in under five minutes. Create a new directory for the project, then drop in a docker-compose.yml file with the following configuration:
- Image: frooodle/s-pdf:latest
- Port mapping: 8080:8080 (or any open host port you prefer)
- Volume for training data: ./trainingData:/usr/share/tessdata
- Volume for configs: ./configs:/configs
- Volume for custom files: ./customFiles:/customFiles
- Restart policy: unless-stopped
Run docker-compose up -d from that directory and the container pulls, configures, and starts automatically. Open a browser and navigate to http://localhost:8080 – or replace localhost with your server’s IP if you’re accessing it from another machine on the network. The full web UI loads immediately, no account creation required. To add OCR language support beyond English, download the appropriate .traineddata files from the Tesseract repository and place them in your mapped trainingData directory.

Security, Authentication, and Network Access
By default, Stirling PDF has no authentication layer – anyone who can reach the port can use it. That’s fine on a local machine or a private home network, but if you’re exposing the instance beyond your immediate environment, you need to add protection before anything else.
The cleanest approach is pairing Stirling PDF with a reverse proxy like Nginx Proxy Manager or Traefik, then adding HTTP basic authentication or SSO in front of it. Stirling PDF also includes its own optional login system, which you enable through environment variables in the Docker Compose file – specifically DOCKER_ENABLE_SECURITY=true and a corresponding admin username and password. Once enabled, users must authenticate before accessing any tools, and the admin panel lets you manage multiple accounts with different permission levels. For teams, that structure is worth the extra configuration time.
If you want external access – say, reaching your instance while traveling – running it behind a reverse proxy with SSL termination is the correct path. Services like Cloudflare Tunnel can expose a local service to the internet without opening firewall ports, which keeps the attack surface small. The application itself is actively maintained, with regular releases that patch dependencies and update the underlying tool stack.
Updates, Customization, and Long-Term Maintenance
Stirling PDF updates frequently, and keeping current is straightforward with Docker. Running docker-compose pull followed by docker-compose up -d pulls the latest image and restarts the container with zero downtime on most setups. Your config files and trained OCR data persist in the mounted volumes, so updates don’t reset your customizations.
The customFiles volume lets you override the default UI strings, add a custom logo, or adjust the application’s color scheme – useful if you’re rolling this out internally and want it to feel like part of your existing toolset rather than a third-party product. Environment variables also control default behaviors like whether the app retains processed files temporarily, what compression defaults look like, and which tools appear prominently in the interface.

For teams already running other self-hosted tools – project managers, document-heavy workflows, internal wikis – Stirling PDF slots in cleanly because it has no dependencies on external services and makes no outbound connections during document processing. Every operation is contained. The one thing no configuration option changes is the fundamental tradeoff: you’re now responsible for uptime, backups, and keeping the host system patched. That’s the deal with self-hosting anything, and Stirling PDF is no exception – but for a tool this capable running on hardware as modest as a Raspberry Pi 4, the operational overhead is genuinely low.
Frequently Asked Questions
Does Stirling PDF require an internet connection to process files?
No. Once the Docker container is running, all document processing happens locally on your server with no outbound connections.
Can I add OCR support to Stirling PDF for languages other than English?
Yes. Download the appropriate .traineddata files from the Tesseract repository and place them in the trainingData volume you mapped during setup.





