Stirling-PDF is a self-hosted PDF editor that runs securely on your homelab server, allowing you to handle sensitive information locally. It enables you to perform virtually any PDF-related task, such as viewing, editing, merging, adjusting, and managing documents with ease. Additionally, it eliminates reliance on cloud-based PDF services, which can be expensive and involve privacy risks.
Features
- View and modify PDFs with custom viewing options and on-page editing.
- Add or remove password protection from documents.
- Available in over 38 languages.
- Offers 50+ simple-to-advanced PDF editing tools, including converting, editing, merging, splitting, and more.
- Delete unwanted pages and images from your PDF.
- Change and set PDF permissions to control who can print, copy, or modify your PDFs.
- Add watermarks (text or images) to your PDFs.
- Repair corrupted PDFs.
- Compare two PDFs and highlight text differences.
- Compress PDFs to reduce file size.
- Perform OCR on PDFs to ensure that scanned documents are searchable.
- Support parallel file processing and downloads.
- Offer optional login and authentication for enhanced security.
- Transform common file types into PDFs using LibreOffice integration.
- Convert PDFs to Word, PowerPoint, and other formats.
- Capture websites as PDFs with URL-to-PDF conversion.
- Create multi-page layouts to format PDFs into booklets or other custom arrangements.
Installation
Setting up Stirling-PDF on your homelab server is straightforward, especially if you’re already familiar with Docker and Docker Compose.
To begin, create a new directory for your Stirling-PDF configuration:
mkdir stirlingpdf
cd stirlingpdf
Next, within that directory, create a file named docker-compose.yml:
nano docker-compose.yml
Then, paste the following content into the file:
services:
stirling-pdf:
image: docker.stirlingpdf.com/stirlingtools/stirling-pdf:latest
ports:
- '8080:8080'
volumes:
- ./StirlingPDF/trainingData:/usr/share/tessdata # Required for extra OCR languages
- ./StirlingPDF/extraConfigs:/configs
- ./StirlingPDF/customFiles:/customFiles/
- ./StirlingPDF/logs:/logs/
- ./StirlingPDF/pipeline:/pipeline/
environment:
- DOCKER_ENABLE_SECURITY=false
- LANGS=en_GB
The ports section maps port 8080 on your server to port 8080 inside the container, allowing you to access the application via your server’s IP address and port 8080. You should change it to other port if the port 8080 has already been taken by other application. Also, the volumes section defines how data inside the container is persisted on your host machine by creating various directories.
Further, in the environment section, you can set DOCKER_ENABLE_SECURITY
to false
to disable the default security features, such as login authentication. However, if you plan to access your homelab server from outside your local network, it’s recommended to enable security.
To enable security, set DOCKER_ENABLE_SECURITY
to true
. Additionally, you can configure an initial username and password by adding the following environment variables:
environment:
- DOCKER_ENABLE_SECURITY=true
- SECURITY_INITIALLOGIN_USERNAME=your_username
- SECURITY_INITIALLOGIN_PASSWORD=your_password
Note: The default username is admin and the default password is stirling. You will be prompted to change the password after the first login.
Once you’ve saved the docker-compose.yml file, start the Stirling-PDF service in detached mode:
docker compose up -d
That’s it! Stirling-PDF should be up and running. Finally, you can access the web interface by opening your browser and navigating to (e.g., http://your-server-ip:8080)
Usage
When you first access the web interface, you’ll be greeted with a sleek and intuitive layout. Plus, a search feature enables you to effortlessly find any option. You’ll also see a top bar that categorizes various tools, such as Convert To PDF, Sign & Security, and more.

To view or edit a PDF, first, open the View/Edit PDF option by searching for it in the search box.

Next, open your document by clicking the Open File option.

Once uploaded, you can also scroll among pages, zoom in and out, and look for any text within the document.
Need to transform multiple PDF files into one? Click the Merge option under the Organize category.

You can then upload multiple PDF files by either dragging and dropping them or clicking on the file selection dialog.

Additionally, Stirling-PDF allows you to sort files by name or date before merging, and even remove existing digital signatures if needed.
Furthermore, you can find a variety of tools in different sections to fine-tune your PDFs. Need to turn a PDF into another document format or convert another document into a PDF? Navigate to the Convert To PDF or Convert From PDF section.

In addition to the above features, Stirling-PDF provides numerous extra functionalities that enhance its scope. For example, you can use the OCR option to convert scanned documents into editable text or the encryption option to secure your documents with password protection.
Access Stirling-PDF through mobile phones
Stirling-PDF is a locally hosted web application, meaning it runs through a web browser rather than a dedicated mobile or desktop app. To access it from your mobile device, simply open a browser and enter your local IP address along with the specified Stirling-PDF port.

Pros/Cons
Like any tool, Stirling-PDF has its advantages and disadvantages. Let’s examine some pros and cons of Stirling-PDF when used on your homelab server.
Pros:
- Your files never leave your local network, ensuring the security of your sensitive data.
- It provides a significant range of functionalities, covering most common PDF manipulation needs.
- Easy installation and management with Docker.
- Allows minimal customization of the interface and settings.
- Free and open-source, eliminating subscription fees for commercial alternatives.
- No file size limits.
- Optimized to run efficiently, even on modest hardware.
Cons:
- No dedicated app; works best on desktop browsers.
- Requires occasional updates and monitoring to ensure smooth operation and security.
- Depending on the complexity and size of the PDF files, Stirling-PDF may consume some of your server’s resources (CPU, RAM).
- No collaborative features.
Final Thoughts
Stirling-PDF is simple to set up and integrates seamlessly into any homelab environment. It is a versatile and privacy-focused solution for managing and editing PDFs. By self-hosting it, you gain full control over your documents – eliminating the need for costly subscriptions or third-party services.
For me, Stirling-PDF strikes the perfect balance between privacy, functionality, and simplicity.
Be the first to comment! Get the discussion going.