services: stirling-pdf: container_name: Stirling-PDF # Use the fat version for rootless operation as it includes all dependencies image: docker.stirlingpdf.com/stirlingtools/stirling-pdf:latest-fat # Run as a non-root user - this is the key part for rootless operation # Use the user directive to specify the numerical UID:GID # Use the UID of your host user to ensure proper file permissions # Example: user: "1000:1000" user: "1000:1000" healthcheck: test: ["CMD-SHELL", "curl -f http://localhost:8080/api/v1/info/status | grep -q 'UP' && curl -fL http://localhost:8080/ | grep -qv 'Please sign in'"] interval: 5s timeout: 10s retries: 16 ports: - "8080:8080" volumes: # When running rootless, make sure these directories: # 1. Exist on the host # 2. Are owned by the same UID as specified in the user directive above # 3. Have appropriate permissions (at least 755 or 777 for directories) - /stirling/rootless/data:/usr/share/tessdata:rw - /stirling/rootless/config:/configs:rw - /stirling/rootless/logs:/logs:rw - /stirling/rootless/customFiles:/customFiles:rw - /stirling/rootless/pipeline:/pipeline:rw environment: DOCKER_ENABLE_SECURITY: "false" SECURITY_ENABLELOGIN: "false" LANGS: "en_GB,en_US,ar_AR,de_DE,fr_FR,es_ES,zh_CN,zh_TW,ca_CA,it_IT,sv_SE,pl_PL,ro_RO,ko_KR,pt_BR,ru_RU,el_GR,hi_IN,hu_HU,tr_TR,id_ID" SYSTEM_DEFAULTLOCALE: en-US SYSTEM_MAXFILESIZE: "100" SYSTEM_GOOGLEVISIBILITY: "true" restart: on-failure:5