All templates

Stirling PDF

v1.0.0

PDF editing, conversion, merging, OCR, and document tools in a web interface.

documentstools by getarcaneapp
x-arcane:
  icon: https://cdn.jsdelivr.net/gh/selfhst/icons@main/svg/stirling-pdf.svg
  urls:
    - https://docs.stirlingpdf.com/

services:
  stirling-pdf:
    image: docker.stirlingpdf.com/stirlingtools/stirling-pdf:latest
    restart: unless-stopped
    ports:
      - "${BIND_ADDRESS:-127.0.0.1}:${APP_PORT:-8085}:8080"
    environment:
      SECURITY_ENABLELOGIN: "true"
      SECURITY_INITIALLOGIN_USERNAME: ${ADMIN_USERNAME:-admin}
      SECURITY_INITIALLOGIN_PASSWORD: ${ADMIN_PASSWORD}
      SYSTEM_DEFAULTLOCALE: en-US
    volumes:
      - stirling-config:/configs
      - stirling-data:/usr/share/tessdata
      - stirling-logs:/logs
    labels:
      com.getarcaneapp.arcane.icon: https://cdn.jsdelivr.net/gh/selfhst/icons@main/svg/stirling-pdf.svg

volumes:
  stirling-config:
  stirling-data:
  stirling-logs:

README

The web interface binds to loopback by default. Open it on the Docker host or through an SSH tunnel. For LAN access, set BIND_ADDRESS to a trusted interface after completing account setup; use an authenticated HTTPS reverse proxy for remote access.

Set a unique ADMIN_PASSWORD before deploying, then open http://localhost:8085 and sign in with ADMIN_USERNAME and that password. Initial-login variables initialize a fresh installation; change existing credentials through the application.

Configuration, OCR language files, and logs persist in named volumes. Add additional Tesseract language data to stirling-data when needed. Put the app behind HTTPS for remote use.

Upstream deployment documentation.