Why Stirling PDF Belongs on Your Home Server
Most PDF tools ask you to upload sensitive documents to a third-party server, process them somewhere you can’t see, and trust that nothing is stored. Stirling PDF flips that arrangement entirely – it runs on your own hardware, handles every conversion and edit locally, and never phones home.

What Stirling PDF Actually Does
Stirling PDF is an open-source, web-based PDF utility that bundles dozens of operations into a single self-hosted interface. You can merge files, split them by page range, compress, rotate, add watermarks, convert to and from common formats like Word and image files, remove pages, reorder them, and apply OCR to scanned documents. All of this runs through a browser UI, which means any device on your local network – a phone, a tablet, a work laptop – can use it without installing anything extra.
The project is built on Spring Boot and uses a collection of established open-source libraries under the hood, including LibreOffice for document conversion and Tesseract for OCR. Because it wraps those tools in a clean web interface, you get the power of a full document processing stack without touching the command line for every individual task. The Docker image bundles all dependencies, so setup does not require you to manually install LibreOffice or configure Tesseract paths on your host machine.
Privacy is the core reason most people choose it. Lawyers, accountants, and small business owners who routinely handle contracts, invoices, or client records can process those files without routing them through Adobe, ILovePDF, Smallpdf, or any comparable cloud service. The files never leave the machine running the container. For anyone already running a home server with tools like Syncthing for file sync, Stirling PDF fits naturally into that same local-first workflow.
The interface is clean enough that non-technical household members or office colleagues can use it without guidance. Operations are grouped by category – organize, convert, security, and so on – and most tasks require nothing more than dragging in a file and clicking a button. You do not need to keep a terminal open or remember any syntax once the container is running.

Installing Stirling PDF with Docker
Docker is the straightforward path. Before starting, make sure Docker and Docker Compose are installed on your host machine. On a Debian or Ubuntu-based system, the standard installation process from Docker’s official documentation covers both. Once Docker is running, create a working directory for the project.
Create a file called docker-compose.yml in that directory and paste in the following configuration:
- Image: frooodle/s-pdf:latest
- Container name: stirling-pdf
- Port mapping: 8080:8080 (or change the host port to any open port you prefer)
- Restart policy: unless-stopped
- Volumes: map a local folder to /usr/share/tessdata if you plan to use OCR with additional language packs, and map another local path to /configs to persist your settings across container restarts
- Environment variable: set DOCKER_ENABLE_SECURITY to false for initial testing, or true if you want to enable the built-in login system from the start
A working compose file looks like this:
version: ‘3.3’
services:
stirling-pdf:
image: frooodle/s-pdf:latest
container_name: stirling-pdf
ports:
– ‘8080:8080’
volumes:
– ./tessdata:/usr/share/tessdata
– ./configs:/configs
environment:
– DOCKER_ENABLE_SECURITY=false
restart: unless-stopped
Run docker compose up -d from that directory. Docker will pull the image and start the container in the background. Open a browser and navigate to http://localhost:8080 – or replace localhost with your server’s local IP address if you’re accessing it from another device. The Stirling PDF interface should load immediately. If it doesn’t, run docker logs stirling-pdf to check for errors, which are most commonly related to port conflicts or volume path permissions.
To add OCR language support beyond English, download the appropriate .traineddata file from the Tesseract GitHub repository and place it in the local tessdata folder you mapped in the compose file. Restart the container after adding language files with docker compose restart stirling-pdf. The OCR feature in the interface will then recognize those additional languages when processing scanned documents. If you want the installation accessible outside your local network, placing it behind a reverse proxy like Nginx Proxy Manager with HTTPS is strongly recommended before exposing any port to the internet.
Keeping It Running and Up to Date

Stirling PDF gets frequent updates – new features and bug fixes ship regularly, so pulling the latest image every few weeks is worth doing. Run docker compose pull followed by docker compose up -d to update without losing your configuration, since the configs volume persists your settings independently of the container image. If you enabled the security option, user accounts and preferences are stored in that volume as well.
One thing to watch: the full Docker image with LibreOffice included is several gigabytes. There is a lighter version of the image tagged frooodle/s-pdf:latest-lite that omits LibreOffice and skips format conversion features, trading capability for a significantly smaller download and faster startup. If you only need to split, merge, compress, and reorder PDFs – and never convert to Word or image formats – the lite image handles that workload on much more modest hardware, including older Raspberry Pi units where storage and memory are real constraints.





