galexrt / docker-sinusbot

Docker container for the famous TeamSpeak 3 SinusBot by Michael Friese.
MIT License
25 stars 13 forks source link

[Bug] No connection to ts3 possible: " |libpulse.so.0: cannot open shared object file" #49

Closed TimHeidinger closed 4 years ago

TimHeidinger commented 4 years ago

I just have installed sinusbot with your image and the given commands. But I'm not able to connect with any ts3-servers. I have tried to install this setup on different vps machines. I also have tried to connect to different ts3-servers.

I have found the following error in sinusbot-log. ERROR |SoundBckndIntf| |libpulse.so.0: cannot open shared object file: No such file or directory There is also no config file in the config folder... Therefore I'm not able to increase the log-level to provide more details.... Where is this config file located?

Full log: https://pastebin.com/raw/sTgXjeH8

Testet on two different VPS OS Details: Debian 10, Debian 8 VPS Details: 6 vCore, 16 GB RAM, 4 vCore, 8GB RAM

Thanks for helping me out! :)

galexrt commented 4 years ago

You can set DEBUG: "true" as an env var or with the latest image (it is currently being built, should be ready in around 15-45 minutes) the config is copied to the config volume / directory when it doesn't exist there. See 5f4093e19ff877dcd3db18d001abdb01ccb4c1b9.

That missing library shouldn't cause an issues AFAIK (if the sinusbot debug logs don't reveal more info, you can try building the Docker image with this package installed libpulse0:i386 to see if that fixes it).

TimHeidinger commented 4 years ago

Thank you for your prompt reply.

How do I install this package? I'm not able to install it with RUN apt-get -q install -y libpulse0:i386

Also package couldn't be found on normal debian/10.

Step 1/2 : FROM galexrt/sinusbot
 ---> b6f0ce052305
Step 2/2 : RUN apt-get -q install -y libpulse0:i386
 ---> Running in aae5f2ab4836
E: Could not open lock file /var/lib/dpkg/lock-frontend - open (13: Permission denied)
E: Unable to acquire the dpkg frontend lock (/var/lib/dpkg/lock-frontend), are you root?
The command '/bin/sh -c apt-get -q install -y libpulse0:i386' returned a non-zero code: 100
root@vmd30645:/home/testsetest# apt-get install libpulse0:i386
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Unable to locate package libpulse0
root@vmd30645:/home/testsetest#
galexrt commented 4 years ago

@TimHeidinger You would add it to the Dockerfile where the container is still root and not the sinus/sinusbot user, and rebuild the docker image, as the container itself isn't running as root.

TimHeidinger commented 4 years ago

When building the new image I got the following error:

E: Unable to locate package libpulse0:i386
Building dependency tree...
Reading state information...
E: Unable to locate package libpulse0:i386
The command '/bin/sh -c groupadd -g "$SINUS_GROUP" sinusbot &&     useradd -u "$SINUS_USER" -g "$SINUS_GROUP" -d "$SINUS_DIR" sinusbot &&     apt-get -q update -y &&     apt-get -q upgrade -y &&     apt-get -q install -y x11vnc xvfb libxcursor1 ca-certificates bzip2 libnss3 libegl1-mesa x11-xkb-utils libasound2 libpci3 libxslt1.1 libxkbcommon0 libxss1 libpulse0:i386 curl         libglib2.0-0 locales wget sudo python less &&     locale-gen --purge "$LANG" &&     update-locale LANG="$LANG" &&     echo "LC_ALL=en_US.UTF-8" >> /etc/default/locale &&     echo "LANG=en_US.UTF-8" >> /etc/default/locale &&     update-ca-certificates &&     mkdir -p "$SINUS_DIR" &&     curl -O "$SINUSBOT_DL_URL" &&     tar -xjf sinusbot.current.tar.bz2 -C "$SINUS_DIR" &&     rm sinusbot.current.tar.bz2 &&     mv "$SINUS_DATA_SCRIPTS" "$SINUS_DATA_SCRIPTS-orig" &&     mkdir -p "$SINUS_CONFIG" "$SINUS_DATA_SCRIPTS" &&     cp -f "$SINUS_DIR/config.ini.dist" "$SINUS_DIR/config.ini" &&     sed -i 's|^DataDir.*|DataDir = '"$SINUS_DATA"'|g' "$SINUS_DIR/config.ini" &&     mkdir -p "$TS3_DIR" &&     cd "$SINUS_DIR" || exit 1 &&     wget -O "TeamSpeak3-Client-linux_amd64-$TS3_VERSION.run"         "$TS3_DL_ADDRESS/$TS3_VERSION/TeamSpeak3-Client-linux_amd64-$TS3_VERSION.run" &&     chmod 755 "TeamSpeak3-Client-linux_amd64-$TS3_VERSION.run" &&     yes | "./TeamSpeak3-Client-linux_amd64-$TS3_VERSION.run" &&     rm -f "TeamSpeak3-Client-linux_amd64-$TS3_VERSION.run" &&     rm TeamSpeak3-Client-linux_amd64/xcbglintegrations/libqxcb-glx-integration.so &&     mkdir -p TeamSpeak3-Client-linux_amd64/plugins &&     cp -f "$SINUS_DIR/plugin/libsoundbot_plugin.so" "$TS3_DIR/plugins/" &&     sed -i "s|^TS3Path.*|TS3Path = \"$TS3_DIR/ts3client_linux_amd64\"|g" "$SINUS_DIR/config.ini" &&     wget -O "$YTDL_BIN" "https://yt-dl.org/downloads/$YTDL_VERSION/youtube-dl" &&     chmod a+rx "$YTDL_BIN" &&     "$YTDL_BIN" -U &&     echo "YoutubeDLPath = \"$YTDL_BIN-speedpatched\"" >> "$SINUS_DIR/config.ini" &&     chown -fR sinusbot:sinusbot "$SINUS_DIR" &&     apt-get -q clean all &&     rm -rf /tmp/* /var/tmp/*' returned a non-zero code: 1
galexrt commented 4 years ago

I have pushed a change yesterday evening. If you repull the image, see if the issue continues to occur.

TimHeidinger commented 4 years ago

Hi @galexrt

The error still ouccours: |ERROR |SoundBckndIntf| |libpulse.so.0: cannot open shared object file: No such file or directory

Full log first start: https://pastebin.com/raw/HPWbcpsD

Full log with log level 10: https://pastebin.com/raw/Txb0fa58

Horstexplorer commented 4 years ago

Hi, I think the problem occured before. #32 If it is the same problem it may be something like this: libpulse0 doesnt seem to be required; the log states that the bot is ready, so it should work; the ts may be configured wrong / or is just not working for the bot for some reasons.

The bot could not connect. This might have several reasons: the server doesn't exist at that address, the server password is wrong, the default channel doesn't exist, the bot has been banned, the server is an illegal installation or the password is wrong , the security level of your identity is too low or the server does not allow the version of the client you are using.

If the 'not connecting error' looks like this try looking into each step, its most likely one of them.

Hope this helps :)

//edit oh I see, galexrt mentioned it before

TimHeidinger commented 4 years ago

Thanks for your help. Problem solved: Some kind of docker networking error. :)