ertagh / teamspeak3-server-arm

150 stars 11 forks source link

Cannot verify connection #15

Closed Snogard closed 3 years ago

Snogard commented 3 years ago

image: arm64v8-latest-qemu

it seems that inetutils-ping is missing form the image and because of this the scritpt "uptate.sh" cannot very the connection

ertagh commented 3 years ago

Cann't recreate the error on my side. I set up a fresh container and updater as well as ping works without a hitch.

Can you give me some more information? What system are you using as well as the OS you are using.

Snogard commented 3 years ago

i'm using diet-pi upgraded to bullseye, i run the container throught podman in rootless mode here is the log: image

[s6-init] making user provided files available at /var/run/s6/etc...exited 0. [s6-init] ensuring user provided files have correct perms...exited 0. [fix-attrs.d] applying ownership & permissions fixes... [fix-attrs.d] done. [cont-init.d] executing container initialization scripts... [cont-init.d] done. [services.d] starting services [services.d] done.

-----------------------------------------------------------------------

TeamSpeak updater:

/teamspeak/sh/startup.sh: 35: /teamspeak/sh/update.sh: ping: Operation not permitted Internet connectivity check failed! No update was done. [cont-finish.d] executing container finish scripts... [cont-finish.d] done. [s6-finish] waiting for services. [s6-finish] sending all processes the TERM signal. [s6-finish] sending all processes the KILL signal and exiting. Streaming disconnected

if i run "apt install -y inetutils-ping" in the container and the restart it, it's able to complete the download and start the server

ertagh commented 3 years ago

Just pushed an update that should address that problem. Please check if it's working now

Snogard commented 3 years ago

I just tried setting up an instance, the ping is there but...

/teamspeak/sh/startup.sh: 35: /teamspeak/sh/update.sh: ping: Operation not permitted

i tried disabling ufw and resetting iptables on the host, but the result does not change.

update: althought "command -v ping" gives out the path to ping, i tried to still manually install inetutils-ping in the running container, and it works afterward. I looked into the dependencies installed by inetutils (libcap2, libcap2-bin, libpam-cap). Here it says that libcap2 implements some user-space interfaces. maybe this is what it's needed to run the container in rootless mode

ertagh commented 3 years ago

Sorry, I never used podman before. After some reading, testing and comparing I found the answer.

You actually have to perform two tasks on the host.

  1. First of all, you have to allow rootless containers to ping. Have a look here.
  2. It seems docker automatically adds the capability "NET_RAW", but podman doen't. So just add it and you should be good to go.

I tested it on raspbian and it works. Let me know if it also worked for you.

Snogard commented 3 years ago

i tested with that added capability and it works out of the box now! thanks