[Bug]: Linux Installation
Installation Method
Local Installation
The Problem
I'm sorry, this isn't really a bug but I'm really struggling to install Stirling PDF. I'm not techy at all but have moved away from Windows and am trying to get my head around Linux.
I think I've tried everything, Docker, Dockge. I tried the Unix installation again and I keep getting stuck here, I faced the same issue on my first attempt at installing so don't know why it is giving this error message. Any help would be much appreciated. Will this auto run on every start up allowing me to just go into the browser and enter the localhost address or do I need to go into the terminal every time?
Will this version also auto update?
Any this, is the terminal history, any help much appreciated!
admin@user10-ThinkPad-P15-Gen-1:~$ sudo apt-get update
sudo apt-get install -y git automake autoconf libtool
libleptonica-dev pkg-config zlib1g-dev make g++
openjdk-21-jdk python3 python3-pip
[sudo] password for admin:
Ign:1 http://packages.linuxmint.com xia InRelease
Hit:2 http://archive.ubuntu.com/ubuntu noble InRelease
Hit:3 http://packages.linuxmint.com xia Release
Hit:4 http://archive.ubuntu.com/ubuntu noble-updates InRelease
Hit:5 http://security.ubuntu.com/ubuntu noble-security InRelease
Hit:6 https://dl.winehq.org/wine-builds/ubuntu noble InRelease
Hit:7 https://download.docker.com/linux/ubuntu noble InRelease
Hit:8 http://archive.ubuntu.com/ubuntu noble-backports InRelease
Ign:9 https://repo.vivaldi.com/stable/deb stable InRelease
Hit:11 https://repo.vivaldi.com/stable/deb stable Release
Hit:12 https://repo.protonvpn.com/debian stable InRelease
Hit:13 https://repository.mullvad.net/deb/stable noble InRelease
Hit:15 https://download.virtualbox.org/virtualbox/debian noble InRelease
Reading package lists... Done
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
git is already the newest version (1:2.43.0-1ubuntu7.2).
automake is already the newest version (1:1.16.5-1.3ubuntu1).
autoconf is already the newest version (2.71-3).
libtool is already the newest version (2.4.7-7build1).
libleptonica-dev is already the newest version (1.82.0-3build4).
pkg-config is already the newest version (1.8.1-2build1).
zlib1g-dev is already the newest version (1:1.3.dfsg-3.1ubuntu2.1).
make is already the newest version (4.3-4.1build2).
g++ is already the newest version (4:13.2.0-7ubuntu1).
openjdk-21-jdk is already the newest version (21.0.6+7-1~24.04.1).
python3 is already the newest version (3.12.3-0ubuntu2).
python3-pip is already the newest version (24.0+dfsg-1ubuntu1.1).
The following packages were automatically installed and are no longer required:
bridge-utils ubuntu-fan
Use 'sudo apt autoremove' to remove them.
0 to upgrade, 0 to newly install, 0 to remove and 6 not to upgrade.
admin@user10-ThinkPad-P15-Gen-1:~$ mkdir ~/.git
cd ~/.git &&
git clone https://github.com/agl/jbig2enc.git &&
cd jbig2enc &&
./autogen.sh &&
./configure &&
make &&
sudo make install
mkdir: cannot create directory ‘/home/admin/.git’: File exists
fatal: destination path 'jbig2enc' already exists and is not an empty directory.
admin@user10-ThinkPad-P15-Gen-1:~/.git$ sudo apt-get install -y libreoffice-writer libreoffice-calc libreoffice-impress tesseract
pip3 install uno opencv-python-headless unoconv pngquant WeasyPrint --break-system-packages
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
E: Unable to locate package tesseract
Defaulting to user installation because normal site-packages is not writeable
Requirement already satisfied: uno in /home/admin/.local/lib/python3.12/site-packages (0.3.3)
Requirement already satisfied: opencv-python-headless in /home/admin/.local/lib/python3.12/site-packages (4.10.0.84)
Requirement already satisfied: unoconv in /home/admin/.local/lib/python3.12/site-packages (0.9.0)
Requirement already satisfied: pngquant in /home/admin/.local/lib/python3.12/site-packages (1.0.8)
Requirement already satisfied: WeasyPrint in /home/admin/.local/lib/python3.12/site-packages (63.1)
Requirement already satisfied: py==1.4.22 in /home/admin/.local/lib/python3.12/site-packages (from uno) (1.4.22)
Requirement already satisfied: pytest==2.6.0 in /home/admin/.local/lib/python3.12/site-packages (from uno) (2.6.0)
Requirement already satisfied: numpy>=1.21.2 in /home/admin/.local/lib/python3.12/site-packages (from opencv-python-headless) (2.2.1)
Requirement already satisfied: Pillow in /usr/lib/python3/dist-packages (from pngquant) (10.2.0)
Requirement already satisfied: pydyf>=0.11.0 in /home/admin/.local/lib/python3.12/site-packages (from WeasyPrint) (0.11.0)
Requirement already satisfied: cffi>=0.6 in /home/admin/.local/lib/python3.12/site-packages (from WeasyPrint) (1.17.1)
Requirement already satisfied: tinyhtml5>=2.0.0b1 in /home/admin/.local/lib/python3.12/site-packages (from WeasyPrint) (2.0.0)
Requirement already satisfied: tinycss2>=1.4.0 in /home/admin/.local/lib/python3.12/site-packages (from WeasyPrint) (1.4.0)
Requirement already satisfied: cssselect2>=0.1 in /home/admin/.local/lib/python3.12/site-packages (from WeasyPrint) (0.7.0)
Requirement already satisfied: Pyphen>=0.9.1 in /home/admin/.local/lib/python3.12/site-packages (from WeasyPrint) (0.17.0)
Requirement already satisfied: fonttools>=4.0.0 in /home/admin/.local/lib/python3.12/site-packages (from fonttools[woff]>=4.0.0->WeasyPrint) (4.55.3)
Requirement already satisfied: pycparser in /home/admin/.local/lib/python3.12/site-packages (from cffi>=0.6->WeasyPrint) (2.22)
Requirement already satisfied: webencodings in /usr/lib/python3/dist-packages (from cssselect2>=0.1->WeasyPrint) (0.5.1)
Requirement already satisfied: brotli>=1.0.1 in /usr/lib/python3/dist-packages (from fonttools[woff]>=4.0.0->WeasyPrint) (1.1.0)
Requirement already satisfied: zopfli>=0.1.4 in /home/admin/.local/lib/python3.12/site-packages (from fonttools[woff]>=4.0.0->WeasyPrint) (0.2.3.post1)
admin@user10-ThinkPad-P15-Gen-1:~/.git$ cd ~/.git &&
git clone https://github.com/Stirling-Tools/Stirling-PDF.git &&
cd Stirling-PDF &&
chmod +x ./gradlew &&
./gradlew build
fatal: destination path 'Stirling-PDF' already exists and is not an empty directory.
admin@user10-ThinkPad-P15-Gen-1:~/.git$
Version of Stirling-PDF
unknown
Last Working Version of Stirling-PDF
No response
Page Where the Problem Occurred
No response
Docker Configuration
Relevant Log Output
Additional Information
No response
Browsers Affected
No response
No Duplicate of the Issue
- [x] I have verified that there are no existing issues raised related to my problem.
Hey @Splitpeach! 👋 I'm here to help you with any bugs, questions, or contributions you have for Stirling PDF. Let me know how I can assist you!
It seems you're encountering issues with the local installation of Stirling PDF on Linux. Here are some steps and suggestions to help you resolve the problems:
-
Existing Directories: The error messages indicate that the directories
~/.gitandStirling-PDFalready exist and are not empty. You can either remove these directories or use a different directory for cloning. To remove them, you can use:rm -rf ~/.git/jbig2enc rm -rf ~/.git/Stirling-PDF -
Tesseract Package: The error "Unable to locate package tesseract" suggests that the package might not be available in your current repositories. You can try enabling the "universe" repository and then update your package list:
sudo add-apt-repository universe sudo apt-get update sudo apt-get install tesseract-ocr -
Auto-Start and Auto-Update: Stirling PDF does not automatically start on boot or auto-update by default. You can set up a systemd service to start it on boot. For auto-updates, you would need to manually pull updates from the repository and rebuild the project.
-
Installation Steps: After resolving the directory issues, follow these steps to install Stirling PDF:
cd ~ git clone https://github.com/Stirling-Tools/Stirling-PDF.git cd Stirling-PDF chmod +x ./gradlew ./gradlew build -
Running Stirling PDF: Once built, you can start Stirling PDF using:
./gradlew runThis will need to be done each time you want to use the application unless you set up a service to manage it.
These steps should help you get Stirling PDF running on your Linux system. If you encounter further issues, ensure all dependencies are correctly installed and check for any additional error messages that might provide more context.
To continue talking to Dosu, mention @dosu.
Help Dosu learn! Give it feedback: Great Response | Irrelevant Answer | Incorrect Sources | Too Verbose | Hallucination | Other
I think docker/dockage version would be easiest to debug if you want to try go that route and show logs
Ok, so I just attempted the steps from Dosu above and got the following:
admin@user10-ThinkPad-P15-Gen-1:~$ rm -rf ~/.git/jbig2enc
rm -rf ~/.git/Stirling-PDF
admin@user10-ThinkPad-P15-Gen-1:~$ sudo add-apt-repository universe
sudo apt-get update
sudo apt-get install tesseract-ocr
[sudo] password for admin:
Hit:1 https://download.docker.com/linux/ubuntu noble InRelease
Get:2 https://dl.winehq.org/wine-builds/ubuntu noble InRelease [6,261 B]
Hit:3 https://repo.protonvpn.com/debian stable InRelease
Ign:4 http://packages.linuxmint.com xia InRelease
Ign:5 https://repo.vivaldi.com/stable/deb stable InRelease
Hit:6 https://repo.vivaldi.com/stable/deb stable Release
Get:7 https://dl.winehq.org/wine-builds/ubuntu noble/main i386 Packages [84.9 kB]
Get:8 http://packages.linuxmint.com xia Release [27.6 kB]
Hit:10 https://download.virtualbox.org/virtualbox/debian noble InRelease
Get:11 https://dl.winehq.org/wine-builds/ubuntu noble/main amd64 Packages [85.0 kB]
Get:12 http://packages.linuxmint.com xia Release.gpg [833 B]
Get:13 http://packages.linuxmint.com xia/upstream amd64 Packages [48.6 kB]
Get:14 http://packages.linuxmint.com xia/upstream i386 Packages [18.8 kB]
Hit:15 https://repository.mullvad.net/deb/stable noble InRelease
Hit:16 http://archive.ubuntu.com/ubuntu noble InRelease
Get:17 http://security.ubuntu.com/ubuntu noble-security InRelease [126 kB]
Get:18 http://archive.ubuntu.com/ubuntu noble-updates InRelease [126 kB]
Get:19 http://archive.ubuntu.com/ubuntu noble-backports InRelease [126 kB]
Get:20 http://archive.ubuntu.com/ubuntu noble-updates/main i386 Packages [425 kB]
Get:21 http://archive.ubuntu.com/ubuntu noble-updates/main amd64 Packages [853 kB]
Get:22 http://archive.ubuntu.com/ubuntu noble-updates/main Translation-en [193 kB]
Get:23 http://archive.ubuntu.com/ubuntu noble-updates/main amd64 Components [151 kB]
Get:24 http://archive.ubuntu.com/ubuntu noble-updates/restricted amd64 Components [212 B]
Get:25 http://archive.ubuntu.com/ubuntu noble-updates/universe i386 Packages [621 kB]
Get:26 http://archive.ubuntu.com/ubuntu noble-updates/universe amd64 Packages [1,014 kB]
Get:27 http://archive.ubuntu.com/ubuntu noble-updates/universe Translation-en [253 kB]
Get:28 http://security.ubuntu.com/ubuntu noble-security/main amd64 Components [8,976 B]
Get:29 http://archive.ubuntu.com/ubuntu noble-updates/universe amd64 Components [362 kB]
Get:30 http://archive.ubuntu.com/ubuntu noble-updates/multiverse amd64 Components [940 B]
Get:31 http://archive.ubuntu.com/ubuntu noble-backports/main amd64 Components [208 B]
Get:32 http://archive.ubuntu.com/ubuntu noble-backports/restricted amd64 Components [216 B]
Get:33 http://archive.ubuntu.com/ubuntu noble-backports/universe amd64 Components [17.6 kB]
Get:34 http://archive.ubuntu.com/ubuntu noble-backports/multiverse amd64 Components [212 B]
Get:35 http://security.ubuntu.com/ubuntu noble-security/restricted amd64 Components [212 B]
Get:36 http://security.ubuntu.com/ubuntu noble-security/universe amd64 Components [51.9 kB]
Get:37 http://security.ubuntu.com/ubuntu noble-security/multiverse amd64 Components [212 B]
Fetched 4,604 kB in 4s (1,257 kB/s)
Reading package lists... Done
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following packages were automatically installed and are no longer required:
bridge-utils ubuntu-fan
Use 'sudo apt autoremove' to remove them.
The following additional packages will be installed:
libtesseract5 tesseract-ocr-eng tesseract-ocr-osd
The following NEW packages will be installed
libtesseract5 tesseract-ocr tesseract-ocr-eng tesseract-ocr-osd
0 to upgrade, 4 to newly install, 0 to remove and 11 not to upgrade.
Need to get 7,278 kB of archives.
After this operation, 19.1 MB of additional disk space will be used.
Do you want to continue? [Y/n] y
Get:1 http://archive.ubuntu.com/ubuntu noble/universe amd64 libtesseract5 amd64 5.3.4-1build5 [1,291 kB]
Get:2 http://archive.ubuntu.com/ubuntu noble/universe amd64 tesseract-ocr-eng all 1:4.1.0-2 [1,818 kB]
Get:3 http://archive.ubuntu.com/ubuntu noble/universe amd64 tesseract-ocr-osd all 1:4.1.0-2 [3,841 kB]
Get:4 http://archive.ubuntu.com/ubuntu noble/universe amd64 tesseract-ocr amd64 5.3.4-1build5 [328 kB]
Fetched 7,278 kB in 2s (4,302 kB/s)
Selecting previously unselected package libtesseract5:amd64.
(Reading database ... 573251 files and directories currently installed.)
Preparing to unpack .../libtesseract5_5.3.4-1build5_amd64.deb ...
Unpacking libtesseract5:amd64 (5.3.4-1build5) ...
Selecting previously unselected package tesseract-ocr-eng.
Preparing to unpack .../tesseract-ocr-eng_1%3a4.1.0-2_all.deb ...
Unpacking tesseract-ocr-eng (1:4.1.0-2) ...
Selecting previously unselected package tesseract-ocr-osd.
Preparing to unpack .../tesseract-ocr-osd_1%3a4.1.0-2_all.deb ...
Unpacking tesseract-ocr-osd (1:4.1.0-2) ...
Selecting previously unselected package tesseract-ocr.
Preparing to unpack .../tesseract-ocr_5.3.4-1build5_amd64.deb ...
Unpacking tesseract-ocr (5.3.4-1build5) ...
Setting up tesseract-ocr-eng (1:4.1.0-2) ...
Setting up libtesseract5:amd64 (5.3.4-1build5) ...
Setting up tesseract-ocr-osd (1:4.1.0-2) ...
Setting up tesseract-ocr (5.3.4-1build5) ...
Processing triggers for man-db (2.12.0-4build2) ...
Processing triggers for libc-bin (2.39-0ubuntu8.4) ...
admin@user10-ThinkPad-P15-Gen-1:~$ sudo add-apt-repository universe
sudo apt-get update
sudo apt-get install tesseract-ocr
Hit:1 http://archive.ubuntu.com/ubuntu noble InRelease
Hit:2 http://security.ubuntu.com/ubuntu noble-security InRelease
Hit:3 http://archive.ubuntu.com/ubuntu noble-updates InRelease
Hit:4 https://dl.winehq.org/wine-builds/ubuntu noble InRelease
Hit:5 http://archive.ubuntu.com/ubuntu noble-backports InRelease
Hit:6 https://download.docker.com/linux/ubuntu noble InRelease
Ign:7 https://repo.vivaldi.com/stable/deb stable InRelease
Hit:8 https://repo.protonvpn.com/debian stable InRelease
Ign:9 http://packages.linuxmint.com xia InRelease
Hit:10 https://repo.vivaldi.com/stable/deb stable Release
Hit:11 https://download.virtualbox.org/virtualbox/debian noble InRelease
Hit:12 http://packages.linuxmint.com xia Release
Hit:15 https://repository.mullvad.net/deb/stable noble InRelease
Reading package lists... Done
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
tesseract-ocr is already the newest version (5.3.4-1build5).
The following packages were automatically installed and are no longer required:
bridge-utils ubuntu-fan
Use 'sudo apt autoremove' to remove them.
0 to upgrade, 0 to newly install, 0 to remove and 11 not to upgrade.
admin@user10-ThinkPad-P15-Gen-1:~$ cd ~
git clone https://github.com/Stirling-Tools/Stirling-PDF.git
cd Stirling-PDF
chmod +x ./gradlew
./gradlew build
Cloning into 'Stirling-PDF'...
remote: Enumerating objects: 37244, done.
remote: Counting objects: 100% (330/330), done.
remote: Compressing objects: 100% (100/100), done.
remote: Total 37244 (delta 276), reused 230 (delta 230), pack-reused 36914 (from 3)
Receiving objects: 100% (37244/37244), 79.12 MiB | 4.48 MiB/s, done.
Resolving deltas: 100% (23238/23238), done.
Downloading https://services.gradle.org/distributions/gradle-8.12-all.zip
.....................10%......................20%......................30%......................40%......................50%......................60%......................70%......................80%......................90%......................100%
Starting a Gradle Daemon, 1 incompatible and 1 stopped Daemons could not be reused, use --status for details
Task :compileJava Note: /home/admin/Stirling-PDF/src/main/java/stirling/software/SPDF/controller/api/security/ValidateSignatureController.java uses unchecked or unsafe operations. OpenJDK 64-Bit Server VM warning: Sharing is only supported for boot loader classes because bootstrap classpath has been appended
[Incubating] Problems report is available at: file:///home/admin/Stirling-PDF/build/reports/problems/problems-report.html
Deprecated Gradle features were used in this build, making it incompatible with Gradle 9.0.
You can use '--warning-mode all' to show the individual deprecation warnings and determine if they come from your own scripts or plugins.
For more on this, please refer to https://docs.gradle.org/8.12/userguide/command_line_interface.html#sec:command_line_warnings in the Gradle documentation.
BUILD SUCCESSFUL in 14m 52s 10 actionable tasks: 10 executed admin@user10-ThinkPad-P15-Gen-1:~/Stirling-PDF$ ./gradlew run
[Incubating] Problems report is available at: file:///home/admin/Stirling-PDF/build/reports/problems/problems-report.html
FAILURE: Build failed with an exception.
-
What went wrong: Task 'run' not found in root project 'Stirling-PDF'.
-
Try:
Run gradlew tasks to get a list of available tasks. For more on name expansion, please refer to https://docs.gradle.org/8.12/userguide/command_line_interface.html#sec:name_abbreviation in the Gradle documentation. Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights. Get more help at https://help.gradle.org.
BUILD FAILED in 723ms
I think docker/dockage version would be easiest to debug if you want to try go that route and show logs
I have tried to install it via docker and dockge so many times and no luck. I don't know how many Stirling files I have sitting around in my files....do I need to uninstall all of them first?
If I install with Docker would it auto-update?
Would be so great if you get create a flatpak on flathub so we could download and install it as an app with a GUI like anything else. In the meantime, could there perhaps be an instructional video for linux on the best way to install?
Its such an amazing tool, but unfortunately I am totally stuck as to how to install it for linux and can't use it! So I'm back to using around four different PDF apps to do everything Stirling could do for me!
I think docker/dockage version would be easiest to debug if you want to try go that route and show logs
I'm sorry, I'm clearly an idiot. But, please help. No matter what I try I just cannot install Stirling PDF. Can you make it Linux dummy proof? (Im using Linux Mint)
These are three different terminal histories. I don't understand what I am getting wrong at every attempt.
admin@user10-ThinkPad-P15-Gen-1:~$ sudo systemctl enable docker
[sudo] password for admin:
Synchronizing state of docker.service with SysV service script with /usr/lib/systemd/systemd-sysv-install.
Executing: /usr/lib/systemd/systemd-sysv-install enable docker
admin@user10-ThinkPad-P15-Gen-1:~$ sudo docker version
Client: Docker Engine - Community
Version: 27.5.1
API version: 1.47
Go version: go1.22.11
Git commit: 9f9e405
Built: Wed Jan 22 13:41:48 2025
OS/Arch: linux/amd64
Context: default
Server: Docker Engine - Community Engine: Version: 27.5.1 API version: 1.47 (minimum version 1.24) Go version: go1.22.11 Git commit: 4c9b3b0 Built: Wed Jan 22 13:41:48 2025 OS/Arch: linux/amd64 Experimental: false containerd: Version: 1.7.25 GitCommit: bcc810d6b9066471b0b6fa75f557a15a1cbf31bb runc: Version: 1.2.4 GitCommit: v1.2.4-0-g6c52b3f docker-init: Version: 0.19.0 GitCommit: de40ad0 admin@user10-ThinkPad-P15-Gen-1:~$ sudo docker run hello-world
Hello from Docker! This message shows that your installation appears to be working correctly.
To generate this message, Docker took the following steps:
- The Docker client contacted the Docker daemon.
- The Docker daemon pulled the "hello-world" image from the Docker Hub. (amd64)
- The Docker daemon created a new container from that image which runs the executable that produces the output you are currently reading.
- The Docker daemon streamed that output to the Docker client, which sent it to your terminal.
To try something more ambitious, you can run an Ubuntu container with: $ docker run -it ubuntu bash
Share images, automate workflows, and more with a free Docker ID: https://hub.docker.com/
For more examples and ideas, visit: https://docs.docker.com/get-started/
admin@user10-ThinkPad-P15-Gen-1:~$ sudo apt update
Hit:1 http://security.ubuntu.com/ubuntu noble-security InRelease
Hit:2 http://archive.ubuntu.com/ubuntu noble InRelease
Ign:3 http://packages.linuxmint.com xia InRelease
Hit:4 https://repo.protonvpn.com/debian stable InRelease
Ign:5 https://repo.vivaldi.com/stable/deb stable InRelease
Hit:6 https://repo.vivaldi.com/stable/deb stable Release
Hit:7 http://archive.ubuntu.com/ubuntu noble-updates InRelease
Hit:8 http://packages.linuxmint.com xia Release
Ign:9 https://download.docker.com/linux/ubuntu xia InRelease
Hit:10 http://archive.ubuntu.com/ubuntu noble-backports InRelease
Hit:11 https://dl.winehq.org/wine-builds/ubuntu noble InRelease
Hit:12 https://download.virtualbox.org/virtualbox/debian noble InRelease
Err:14 https://download.docker.com/linux/ubuntu xia Release
404 Not Found [IP: 13.227.219.51 443]
Hit:16 https://repository.mullvad.net/deb/stable noble InRelease
Reading package lists... Done
E: The repository 'https://download.docker.com/linux/ubuntu xia Release' does not have a Release file.
N: Updating from such a repository can't be done securely, and is therefore disabled by default.
N: See apt-secure(8) manpage for repository creation and user configuration details.
admin@user10-ThinkPad-P15-Gen-1:~$ sudo apt upgrade
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Calculating upgrade... Done
The following packages were automatically installed and are no longer required:
linux-headers-6.8.0-51 linux-tools-6.8.0-51
Use 'sudo apt autoremove' to remove them.
0 to upgrade, 0 to newly install, 0 to remove and 0 not to upgrade.
admin@user10-ThinkPad-P15-Gen-1:~$ docker pull stirlingtools/stirling-pdf:latest
permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Post "http://%2Fvar%2Frun%2Fdocker.sock/v1.47/images/create?fromImage=stirlingtools%2Fstirling-pdf&tag=latest": dial unix /var/run/docker.sock: connect: permission denied
admin@user10-ThinkPad-P15-Gen-1:~$ mkdir -p ~/StirlingPDF/{trainingData,extraConfigs,customFiles,logs,pipeline}
admin@user10-ThinkPad-P15-Gen-1:~$ docker run -d
--name stirling-pdf
-p 8080:8080
-v ~/StirlingPDF/trainingData:/usr/share/tessdata
-v ~/StirlingPDF/extraConfigs:/configs
-v ~/StirlingPDF/customFiles:/customFiles/
-v ~/StirlingPDF/logs:/logs/
-v ~/StirlingPDF/pipeline:/pipeline/
-e DOCKER_ENABLE_SECURITY=false
-e LANGS=en_GB
stirlingtools/stirling-pdf:latest
docker: permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Head "http://%2Fvar%2Frun%2Fdocker.sock/_ping": dial unix /var/run/docker.sock: connect: permission denied.
See 'docker run --help'.
admin@user10-ThinkPad-P15-Gen-1:~$ sudo groupadd docker
[sudo] password for admin:
groupadd: group 'docker' already exists
admin@user10-ThinkPad-P15-Gen-1:~$ sudo usermod -aG docker $USER
admin@user10-ThinkPad-P15-Gen-1:~$ sudo usermod -aG docker $ADMIN
Usage: usermod [options] LOGIN
Options: -a, --append append the user to the supplemental GROUPS mentioned by the -G option without removing the user from other groups -b, --badname allow bad names -c, --comment COMMENT new value of the GECOS field -d, --home HOME_DIR new home directory for the user account -e, --expiredate EXPIRE_DATE set account expiration date to EXPIRE_DATE -f, --inactive INACTIVE set password inactive after expiration to INACTIVE -g, --gid GROUP force use GROUP as new primary group -G, --groups GROUPS new list of supplementary GROUPS -h, --help display this help message and exit -l, --login NEW_LOGIN new value of the login name -L, --lock lock the user account -m, --move-home move contents of the home directory to the new location (use only with -d) -o, --non-unique allow using duplicate (non-unique) UID -p, --password PASSWORD use encrypted password for the new password -P, --prefix PREFIX_DIR prefix directory where are located the /etc/* files -r, --remove remove the user from only the supplemental GROUPS mentioned by the -G option without removing the user from other groups -R, --root CHROOT_DIR directory to chroot into -s, --shell SHELL new login shell for the user account -u, --uid UID new UID for the user account -U, --unlock unlock the user account -v, --add-subuids FIRST-LAST add range of subordinate uids -V, --del-subuids FIRST-LAST remove range of subordinate uids -w, --add-subgids FIRST-LAST add range of subordinate gids -W, --del-subgids FIRST-LAST remove range of subordinate gids -Z, --selinux-user SEUSER new SELinux user mapping for the user account
admin@user10-ThinkPad-P15-Gen-1:~$ docker version Client: Docker Engine - Community Version: 27.5.1 API version: 1.47 Go version: go1.22.11 Git commit: 9f9e405 Built: Wed Jan 22 13:41:48 2025 OS/Arch: linux/amd64 Context: default permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get "http://%2Fvar%2Frun%2Fdocker.sock/v1.47/version": dial unix /var/run/docker.sock: connect: permission denied admin@user10-ThinkPad-P15-Gen-1:~$ docker run hello-world docker: permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Head "http://%2Fvar%2Frun%2Fdocker.sock/_ping": dial unix /var/run/docker.sock: connect: permission denied. See 'docker run --help'.
admin@user10-ThinkPad-P15-Gen-1:~$ docker pull stirlingtools/stirling-pdf:latest
permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Post "http://%2Fvar%2Frun%2Fdocker.sock/v1.47/images/create?fromImage=stirlingtools%2Fstirling-pdf&tag=latest": dial unix /var/run/docker.sock: connect: permission denied
admin@user10-ThinkPad-P15-Gen-1:~$ mkdir -p ~/StirlingPDF/{trainingData,extraConfigs,customFiles,logs,pipeline}
admin@user10-ThinkPad-P15-Gen-1:~$ docker run -d
--name stirling-pdf
-p 8080:8080
-v ~/StirlingPDF/trainingData:/usr/share/tessdata
-v ~/StirlingPDF/extraConfigs:/configs
-v ~/StirlingPDF/customFiles:/customFiles/
-v ~/StirlingPDF/logs:/logs/
-v ~/StirlingPDF/pipeline:/pipeline/
-e DOCKER_ENABLE_SECURITY=false
-e LANGS=en_GB
stirlingtools/stirling-pdf:latest
docker: permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Head "http://%2Fvar%2Frun%2Fdocker.sock/_ping": dial unix /var/run/docker.sock: connect: permission denied.
See 'docker run --help'.
admin@user10-ThinkPad-P15-Gen-1:~$ sudo groupadd docker
[sudo] password for admin:
groupadd: group 'docker' already exists
admin@user10-ThinkPad-P15-Gen-1:~$ sudo usermod -aG docker $USER
admin@user10-ThinkPad-P15-Gen-1:~$ sudo usermod -aG docker $ADMIN
Usage: usermod [options] LOGIN
Options: -a, --append append the user to the supplemental GROUPS mentioned by the -G option without removing the user from other groups -b, --badname allow bad names -c, --comment COMMENT new value of the GECOS field -d, --home HOME_DIR new home directory for the user account -e, --expiredate EXPIRE_DATE set account expiration date to EXPIRE_DATE -f, --inactive INACTIVE set password inactive after expiration to INACTIVE -g, --gid GROUP force use GROUP as new primary group -G, --groups GROUPS new list of supplementary GROUPS -h, --help display this help message and exit -l, --login NEW_LOGIN new value of the login name -L, --lock lock the user account -m, --move-home move contents of the home directory to the new location (use only with -d) -o, --non-unique allow using duplicate (non-unique) UID -p, --password PASSWORD use encrypted password for the new password -P, --prefix PREFIX_DIR prefix directory where are located the /etc/* files -r, --remove remove the user from only the supplemental GROUPS mentioned by the -G option without removing the user from other groups -R, --root CHROOT_DIR directory to chroot into -s, --shell SHELL new login shell for the user account -u, --uid UID new UID for the user account -U, --unlock unlock the user account -v, --add-subuids FIRST-LAST add range of subordinate uids -V, --del-subuids FIRST-LAST remove range of subordinate uids -w, --add-subgids FIRST-LAST add range of subordinate gids -W, --del-subgids FIRST-LAST remove range of subordinate gids -Z, --selinux-user SEUSER new SELinux user mapping for the user account
admin@user10-ThinkPad-P15-Gen-1:~$ docker version Client: Docker Engine - Community Version: 27.5.1 API version: 1.47 Go version: go1.22.11 Git commit: 9f9e405 Built: Wed Jan 22 13:41:48 2025 OS/Arch: linux/amd64 Context: default permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get "http://%2Fvar%2Frun%2Fdocker.sock/v1.47/version": dial unix /var/run/docker.sock: connect: permission denied admin@user10-ThinkPad-P15-Gen-1:~$ docker run hello-world docker: permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Head "http://%2Fvar%2Frun%2Fdocker.sock/_ping": dial unix /var/run/docker.sock: connect: permission denied. See 'docker run --help'.
permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Head
means a Sudo issue, please try run the command as a sudo user
We got there in the end on the Zorin Forum. Also had a lot to do with the VPN in use. Wasn't easy though.
Flatpak please!!
https://forum.zorin.com/t/stirling-pdf-installation/44973/39