Docker Community Forums

Share and learn in the Docker community.

Mumiehub/sabnzbdvpn start.sh file

Having challenges running Mumiehub/sabnzbdvpn.

It seems to want to run a start.sh file in the /etc/openvpn directory. Does anyone know what the contents need to be?

Before I created touch /etc/openvpn/start.sh and chmod +x and chown to plex:plex, I was getting all kinds of errors.

Currently down to one error:

[dumb-init] /etc/openvpn/start.sh: Exec format error

Exec format errors are mostly due to wrong CPU architecture. Are you running this on an ARM development board or something else than x86?

I removed the start.sh that I created and reinstalled the image. Currently running docker on ubuntu intel arch.

Here is the error.

adding route to local network 172.16.4.1/23 via 172.17.0.1 dev eth0
RTNETLINK answers: Operation not permitted
id: ‘plex’: no such user
/etc/openvpn/start.sh: 16: [: Illegal number:
id: ‘plex’: no such user
/etc/openvpn/start.sh: 17: [: Illegal number:
Setting owner for Folder paths to 1001:1001
chown: invalid user: ‘plex:plex’
id: ‘plex’: no such user
id: ‘plex’: no such user
Sabnzbd will run as
User name: plex
User uid:
User gid:
Sun Jul 12 15:41:45 2020 WARNING: cannot stat file '/etc/openvpn/pass.txt': No such file or directory (errno=2)
Options error: --auth-user-pass fails with '/etc/openvpn/pass.txt': No such file or directory (errno=2)
Options error: Please correct these errors.
Use --help for more information.

Here is the command:

sudo docker run -d --name sabnzbdvpn -v /home/plex/.sabnzbd:/config -v /etc/openvpn:/etc/openvpn/custom -v /etc/localtime:/etc/localtime -p 8800:8800 -e "LOCAL_NETWORK=172.16.4.1/23" -e PUID=1001 -e PGID=1001 -e USER_NAME="plex" -e DOWNLOAD_DIR="/home/plex/Downloads/complete" -e INCOMPLETE_DIR="/home/plex/Downloads/incomplete" -e OPENVPN_CONFIG="torguardSF_UDP.conf" mumiehub/sabnzbdvpn

Can you show /home/plex/.sabnzbd, /etc/openvpn, so I can try it locally?

As mentioned in the readme, LOCAL_NETWORK should be the whole local network from where you want to be able to connect to the GUI in the browser. This network should be on the host, not a network inside Docker.

Also, the port mapping is not correct. You want to map the outside port 8800 to 8080 inside the container. Thus: 8800:8080.

 **/home/plex/.sabnzbd** $ ls -al
total 40
drwxrwxr-x 4 plex plex 4096 Oct 22 2016 **.**
drwxr-xr-x 38 plex plex 4096 Jun 22 2018 **..**
drwxrwxr-x 3 plex plex 4096 Jul 12 02:05 **admin**
drwxrwxr-x 2 plex plex 4096 May 27 20:29 **logs**
-rw------- 1 plex plex 9576 Jul 12 01:55 sabnzbd.ini
-rw------- 1 plex plex 9576 Jul 12 01:55 sabnzbd.ini.bak

ls -al /etc/openvpn
total 76
drwxr-xr-x 4 root root 4096 Jul 12 15:33 **.**
drwxr-xr-x 186 root root 12288 Jul 11 16:13 **..**
-rwxr-xr-x 1 root root 2876 Jul 11 2019 **ca.crt**
drwxr-xr-x 2 root root 4096 Feb 10 2018 **client**
-rwx------ 1 root root 4103 Jul 11 21:27 **default.conf**
-rw------- 1 root root 35 Nov 2 2016 pass.txt
drwxr-xr-x 2 root root 4096 Feb 10 2018 **server**
-rwxr-xr-x 1 root root 1216 Jul 12 15:33 **start.sh**
-rw-r--r-- 1 root root 636 Nov 1 2016 ta.key
-rwx------ 1 root root 2120 Jan 28 2018 **torguardATL.conf**
-rwx------ 1 root root 4005 Jul 11 2019 **torguardSF.conf**
-rwx------ 1 root root 4103 Jul 11 2019 **torguardSF_UDP.conf**
-rwxr-xr-x 1 root root 11 Jul 11 2019 **update-resolv-conf**
-rwxr-xr-x 1 root root 1468 Sep 5 2019 **update-resolv-conf.dpkg-dist**
-rw------- 1 root root 12 Jul 12 2019 update-resolv-conf.save

My network is 172.16.4.1/23. The machine is 172.16.5.250 (static ip).

Changed 8800:8080.

same error…

Do you really want to proxy other containers which are in the IP range from 172.16.4.1 to 172.16.5.254?

Also, why is your network 172.16.4.1/23 rather than 172.16.4.0/23? Not that this makes a difference but I think you are not fully aware how IP addresses work.

Is your physical machine’s IP really 172.16.5.250 or is this the container’s IP?

Can you show me the contents of start.sh? It likely contains invalid syntax.

Is plex a valid user on the host system? Currently root owns the files in /etc/openvpn and /etc/openvpn/pass.txt is set to only be readable by its owner. However, in the container it likely tries to access it with plex and thus cannot read the file. Set the file owner for the folder /etc/openvpn and its subdirectories to plex:plex with chown -R.

My local network is 172.16.4.0/23 not .1. My mistype.

Local network has the range from 172.16.4.10-172.16.5.199 for non static IP. .200-254 for static IP.

Physical machine is at 250 and not the containers IP

That is a great question about the contents of the start.sh. I am just learning containers. Where is the start.sh? on the physical machine? or in the docker container? how do I access it? Can’t run any commands through the console (portainer) because the container is down.

plex is a user on the host system. I read that the container will use root for openvpn and the assigned user for the sabnazbd. However, it seems that it is attempting to use the plex user as root. That may be the issue…

/etc/init.d/ isn’t relevant. Containers aren’t full blown operating systems with a heavyweight SysV init-style startup sequence. They run a single command, that’s it.

You should either add the command as a RUN statement in the Dockerfile so its results are baked into the image, or you should have it called directly by the container’s CMD or ENTRYPOINT directive.

what? not following.