|Difficulty to do this
Running as a Systemd service
Running in a container
Setup needed - see below
actions: - title: Stop Plex shell: docker stop plex - title: Start plex shell: docker start plex
You can control other containers, when running OliveTin inside a container itself, however you need to do some extra setup when creating the OliveTin container.
If you want to control Docker from inside a Docker container, you will need to also create the container with
--privileged. Podman does not have this requirement. If you are getting "permission denied" errors it is probably because OliveTin runs as user UID 1000 by default, which is not allowed by your docker host. Simply run OliveTin with
--user root as a simple workround. Note that PUID and PGID variables will not work.
/var/run/docker.sockas a bind mount to the container when creating it, eg:
docker create --privileged --user root -v /var/run/docker.sock:/var/run/docker.sock ...additional args here...
Or, using the
docker run --privileged --user root -v /var/run/docker.sock:/var/run/docker.sock --name OliveTin jamesread/olivetin
The official x86_64 docker container comes with the
dockerclient pre-installed. If you are using
arm64container, you will need to add Docker yourself.Note
The reason that the
arm64containers do not container docker, is that when these images are cross-compiled at build time, it takes FOREVER because we have to emulate arm.
After you have passed the socket into the container (and optionally installed docker), you should be able to setup docker actions like it’s shown in the example above.