User Tools

Stirling PDF

Stirling PDF is an amazing collection of on-line tools to edit, cut, rotate and edit PDF files. Being able to self-host it is amazing and a must-have.

Installation

Stirling-PDF can be installed on bare-metal, but the list of dependencies is so thick and complex that this is one of those situations where a container is highly recomended.

So first of all, as usual, create the dedicated user:

useradd -d /data/daemons/stirlingpdf -m stirlingpdf

and, as user stirlingpdf, create the /data/daemons/stirlingpdf/docker-compose.yml file:

docker-compose.yml
version: '3.3'
services:
  stirling-pdf:
    image: frooodle/s-pdf:latest
    ports:
      - '8089:8080'
    volumes:
      - /data/daemons/stirlingpdf/trainingData:/usr/share/tessdata #Required for extra OCR languages
      - /data/daemons/stirlingpdf/extraConfigs:/configs
#      - /location/of/customFiles:/customFiles/
#      - /location/of/logs:/logs/
    environment:
      - DOCKER_ENABLE_SECURITY=false
      - INSTALL_BOOK_AND_ADVANCED_HTML_OPS=false
      - LANGS=en_GB
      - SYSTEM_ROOTURIPATH=/stirlingpdf
    network:
      - stirlingpdf-net

networks:
  stirlingpdf-net: {}

Adapt the paths and the port to your needs (8089).

Now pull it:

su - stirlingpdf
podman compose pull

Reverse Proxy

The following NGINX configuration file is the base for Stirling-PDF:

sitrlingpdf.conf
location /stirlingpdf/ {
        proxy_pass http://127.0.0.1:8089;
        access_log off;
        client_max_body_size 200M;
        proxy_read_timeout 3600;
}

Adapt the port to match the one in the docker compose. I also suggest to set a proper client_max_body_size to allow upload/download of big enough files, and also the proxy_read_timeout value.

See The Reverse Proxy concept

Autostart

To start it, and set it up on boot, as usual follow my indications Using Containers on Gentoo, so link the user-containers init script:

ln -s /etc/init.d/user-containers /etc/init.d/user-containers.stirlingpdf

and create the following config file:

/etc/conf.d/user-containers.stirlingpdf
USER=stirlingpdf
DESCRIPTION="The PDF manager server"

Add the service to the default runlevel and start it now:

rc-update add user-containers.stirlingpdf default
rc-service user-containers.stirlingpdf start

This website uses cookies. By using the website, you agree with storing cookies on your computer. Also, you acknowledge that you have read and understand our Privacy Policy. If you do not agree, please leave the website.

More information