Skip to main content

Docker Installation for Stirling PDF

Run Stirling PDF in Docker for easy self-hosting, automatic updates, and flexible deployment.

Quick Start

docker run -d \
--name stirling-pdf \
-p 8080:8080 \
-v ./stirling-data:/configs \
stirlingtools/stirling-pdf:latest

Then open http://localhost:8080 in your browser!

Login is ON by default

The default is security.enableLogin: true, so a fresh container starts with login enabled and creates a default admin account:

Username: admin
Password: stirling

Change this password immediately after first login. If you want the no-login experience instead (no authentication, no admin account), you must opt out explicitly by setting SECURITY_ENABLELOGIN=false. See Modes for how the deploy modes differ.

Choosing Your Version

VersionTagWhat's IncludedBest For
StandardlatestAll PDF featuresMost users, balanced features & size
Fatlatest-fatEverything + extra fonts & toolsHighest quality conversions, full format support
Ultra-Litelatest-ultra-liteCore features onlyLimited resources, minimal size

Most users should use latest - it has everything you need.

When to use each version:

Standard (latest) - You want all PDF features, have normal server specs, or you're not sure which to pick.

Fat (latest-fat) - You need the highest quality conversions with full font support, every conversion format, and all optional tools. Disk space isn't a concern.

Ultra-Lite (latest-ultra-lite) - Running on very limited hardware (Raspberry Pi, low-end VPS), want fastest startup, or only need basic PDF operations.

To use a different version, just change the tag:

docker run -d stirlingtools/stirling-pdf:latest-ultra-lite

Full Setup (With All Features)

Want OCR, custom settings, and logging? Add more volumes:

docker run -d \
--name stirling-pdf \
-p 8080:8080 \
-v ./stirling-data/tessdata:/usr/share/tessdata \
-v ./stirling-data/configs:/configs \
-v ./stirling-data/logs:/logs \
-v ./stirling-data/pipeline:/pipeline \
-e SECURITY_ENABLELOGIN=false \
-e SYSTEM_DEFAULTLOCALE=en-GB \
stirlingtools/stirling-pdf:latest

What each volume does:

  • /configs - Your settings and database
  • /usr/share/tessdata - OCR language files
  • /logs - Application logs
  • /pipeline - Automation configurations

Updating Stirling PDF

docker stop stirling-pdf
docker rm stirling-pdf
docker pull stirlingtools/stirling-pdf:latest
# Then run your original docker run command

Your data is safe in the volumes and will persist across updates.

Platform-specific quick starts

Several platforms have one-click installs or community packages that wrap the Docker setup. Use these when available - they're maintained by their respective communities and handle the platform-native bits (permissions, networking, backups) for you.

Available in the TrueNAS Apps catalog (Community train).

  1. Apps → Discover Apps, search for "Stirling PDF".
  2. Click Install, accept defaults (or customise port / persistence).
  3. Open from Apps → Installed.

See the catalog listing at apps.truenas.com/catalog/stirling-pdf/.

Community-maintained

The TrueNAS, Unraid, and Proxmox integrations above are community-maintained, not built or operated by Stirling Tools. Report issues with the integration itself to the respective project (TrueNAS Apps, Unraid Community Apps, community-scripts/ProxmoxVE). For Stirling PDF behaviour, use the Stirling PDF issue tracker.

Common Configurations

User Authentication

Login is enabled by default (default admin admin / stirling). To turn it off and run without authentication, set:

environment:
- SECURITY_ENABLELOGIN=false

Change Interface Language

Set the default UI language (locale codes use a hyphen). Empty/unset auto-detects from the browser and falls back to en-US.

environment:
- SYSTEM_DEFAULTLOCALE=es-ES # Spanish, or en-GB, fr-FR, de-DE, etc.

Custom Port

ports:
- '9000:8080' # Access at http://localhost:9000

Next Steps

Troubleshooting

Can't access at localhost:8080?

  • Check if port 8080 is already in use
  • Try a different port: -p 9000:8080
  • Check firewall settings

Permission errors with volumes?

  • Make sure the directories exist
  • Check folder permissions: chmod -R 755 ./stirling-data

Container keeps restarting?

  • Check logs: docker logs stirling-pdf
  • Check system resources (RAM, disk space)
  • Try ultra-lite version for limited hardware
x