One of the main problems with cronicle is that node.js doesn't set all the groups that a user is part of when forking off a process, which means that even rebuilding cronicle and attributing more groups to the cronicle
user is hopeless because shell scripts will run under the cronicle
UID and GID without any extra group memberships being applied.
cronicle does allow running scripts under a different UID or GID other than the cronicle
user, it's just that the way to do so is counter-intuitive because one cannot specify the UID or GID from the "Job Configuration" page but the UID and GID settings are rather scoped to the context of the whole "Shell Plugin" itself. This would mean that all scripts will then run with the same UID and GIDs but that's also solvable just that it is again counter-intuitive and it requires cloning the plugin.
With that being, a solution for all needs is to navigate to the Admin
page and then follow the Plugins
menu. Click the "Shell Script" plugin from the list and go to the very end of the page and click the button "Copy plugin…". The button will clone the "Shell Script" plugin and the interface will load immediately placing the cursor to the name of the plugin where it can be given a name. It is a good idea to give it a descriptive name, in this case, the script that we wanted to run needed to access /var/run/docker.sock
with GID set to 995
so the cloned plugin was named Shell Script (Docker)
. Then, towards the end, there is an "Advanced Options" section where the working directory, UID and GID can be specified for the plugin. With that setup, the usage seems straight-forward: whenever a script invokes docker
that needs to access /var/run/docker.sock
, the script is ran with the newly cloned plugin Shell Script (Docker)
instead of the default Shell Script
.
For the contact, copyright, license, warranty and privacy terms for the usage of this website please see the contact, license, privacy, copyright.