Open Snoobz opened 3 years ago
Hi there,
I just tried it with the new version myself and it seems to work fine.
It would be nice if you comment your 'docker run' command here. Maybe some problem that it isn't able to write to the mount or so, but that is just an idea.
Also what OS are you running?
Greetings
Hi there,
I just tried it with the new version myself and it seems to work fine.
It would be nice if you comment your 'docker run' command here. Maybe some problem that it isn't able to write to the mount or so, but that is just an idea.
Also what OS are you running?
Greetings
Hello,
Here is the docker run command I used:
docker run -d --name TeamSpeak3_Server -e TS_UPDATE=1 -e TIME_ZONE=Europe/Paris -p 9987:9987/udp -p 10011:10011/tcp -p 30033:30033/tcp -v /docker-container/TeamSpeak3_Server/:/teamspeak/save/ teamspeak3-server
The mount volulme /docker-container/TeamSpeak3_Server/ has file in it (so for me, it doesn't look like there is a write/permission issue).
My RPI4 is running a CentOS 7.9.2009 OS.
If you need any more information, feel free to ask!
Thanks for your help!
Hi there,
docker run command seems fine to me. Just check if the mount bind belongs to user 1000 and group 1000, but if there are files inside I'm pretty shure everything is right. Is the 'logs' directory already present inside the mount bind? Are there any files inside? (Maybe the logs actually say more about whats going on)
Also can you check which version of docker you have? (docker version
)
Are you running the 'aarch64' or the 'armhf' version of CentOS and also the appropriate version of the container?
Last question for today: Did the container ran at any point as intended?
Greetings!
Hi there,
docker run command seems fine to me. Just check if the mount bind belongs to user 1000 and group 1000, but if there are files inside I'm pretty shure everything is right. Is the 'logs' directory already present inside the mount bind? Are there any files inside? (Maybe the logs actually say more about whats going on)
Also can you check which version of docker you have? (
docker version
)Are you running the 'aarch64' or the 'armhf' version of CentOS and also the appropriate version of the container?
Last question for today: Did the container ran at any point as intended?
Greetings!
Hello,
Thank you for your time.
The logs directory inside my mount bind is empty. The container start well for at least 20 to 30 secondes before exiting on his own. While the container is up and running, I can go inside it, but not for long (20 to 30 seconds before getting exited without any error shown).
My docker version is : 20.10.1 (I'm using of course the Community Edition). Regarding my version of CentOS 7, it looks like it is the AltArch version. It says: CentOS Linux release 7.9.2009 (AltArch)
If you need any more information, feel free to ask.
Thank you again!
Hi there,
sorry for the late reply.
I actually found an error inside a file that blocked the logs to be diplayed (both inside the logs folder as well as the logs diplayed in docker). Big sorry for that! The error was fixed and an update was pushed a few minutes ago. So at least the log files should apear now..
Also I set up one of my Pis with CentOS 7 and docker (20.10.1) to forther test and validate the issue. I can confirm that the initializationof the server doesn't work 100% correctly, more specific: it crashes after that phase instead of restarting. But after a restart everything worked as intended. So at least I can say: It should work..
So back to you: Please update to the latest image of the server so that you are able to see the log files. Maybe then we have more information about the issue..
Also: Have you tried cleaning the mount bind directory (/docker-container/TeamSpeak3_Server/) and let teamspeak reenter the initialization phase? Maybe something went corrupt there..
Greetings an a happy new year!
Hi there,
sorry for the late reply.
I actually found an error inside a file that blocked the logs to be diplayed (both inside the logs folder as well as the logs diplayed in docker). Big sorry for that! The error was fixed and an update was pushed a few minutes ago. So at least the log files should apear now..
Also I set up one of my Pis with CentOS 7 and docker (20.10.1) to forther test and validate the issue. I can confirm that the initializationof the server doesn't work 100% correctly, more specific: it crashes after that phase instead of restarting. But after a restart everything worked as intended. So at least I can say: It should work..
So back to you: Please update to the latest image of the server so that you are able to see the log files. Maybe then we have more information about the issue..
Also: Have you tried cleaning the mount bind directory (/docker-container/TeamSpeak3_Server/) and let teamspeak reenter the initialization phase? Maybe something went corrupt there..
Greetings an a happy new year!
Hello,
First of all, I wish you a happy new year and thank you for your time.
I pulled the latest version from Docker Hub but I still do not have log files generated inside the my folder /docker-container/TeamSpeak3_Server/logs (folder is empty).
I did a docker logs and here is the full output :
Current version (3.13.3) is up to date! Starting TeamSpeak 3 Server .. [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.
Once the container crash (automatically exiting), if I do a docker start TeamSpeak3_Server (which is the name of my container), it still crashs a 20-30 seconds after.
Also, yes before starting a new instance of the container, I remove everything insde : /docker-container/TeamSpeak3_Server/ (wirh a rm -rf *)
Thanks again for your help!
Hi there,
weird, the locale should not be set to C but anything else looks normal. Today I tried really hard to replicate the error, but no matter what I do, I can't replicate it, so I need your help to fix it..
I pushed another update a few minutes ago with some optimizations within some files. Would be nice if you could try it and report back.
If this update won't help either, please start the container, wait a few seconds and then run docker top TeamSpeak3_Server
and send me the result.
You can also try to use a volume instead of the mount bind, so that we can be sure that something isn't working inside the container as it should
Just run:
docker volume create teamspeak_data && docker pull ertagh/teamspeak3-server:latest && docker run -d --name TeamSpeak3_Server -e TS_UPDATE=1 -e TIME_ZONE=Europe/Paris -p 9987:9987/udp -p 10011:10011/tcp -p 30033:30033/tcp -v teamspeak_data:/teamspeak/save/ ertagh/teamspeak3-server:latest
If even that won't help I'll guide you through the newly added debug mode..
sorry for the circumstances..
Greetings!
Hi there,
weird, the locale should not be set to C but anything else looks normal. Today I tried really hard to replicate the error, but no matter what I do, I can't replicate it, so I need your help to fix it..
I pushed another update a few minutes ago with some optimizations within some files. Would be nice if you could try it and report back.
If this update won't help either, please start the container, wait a few seconds and then run
docker top TeamSpeak3_Server
and send me the result.You can also try to use a volume instead of the mount bind, so that we can be sure that something isn't working inside the container as it should
Just run:
docker volume create teamspeak_data && docker pull ertagh/teamspeak3-server:latest && docker run -d --name TeamSpeak3_Server -e TS_UPDATE=1 -e TIME_ZONE=Europe/Paris -p 9987:9987/udp -p 10011:10011/tcp -p 30033:30033/tcp -v teamspeak_data:/teamspeak/save/ ertagh/teamspeak3-server:latest
If even that won't help I'll guide you through the newly added debug mode..
sorry for the circumstances..
Greetings!
Hello,
First of all, I really would like to thank you for your time and effort into this matter.
Here is what you asked. I pulled the latest version of the container, but still no logs inside the folder logs in the mount bind. The container still exit after 20-30 seconds.
Here is the output of the docker top command :
UID PID PPID C STIME TTY TIME CMD root 12757 12734 0 23:58 ? 00:00:00 s6-svscan -t0 /var/run/s6/services root 12817 12757 0 23:58 ? 00:00:00 s6-supervise s6-fdholderd root 12974 12757 0 23:58 ? 00:00:00 s6-supervise teamspeak root 12975 12757 0 23:58 ? 00:00:00 s6-supervise teamspeak_helper 1000 12976 12975 0 23:58 ? 00:00:00 /bin/sh /teamspeak/sh/helper.sh root 12978 12974 0 23:58 ? 00:00:00 sh ./run root 12985 12978 0 23:58 ? 00:00:00 sh /teamspeak/sh/startup.sh 1000 12996 12976 0 23:58 ? 00:00:00 sleep 30s root 13013 12985 0 23:58 ? 00:00:00 sleep 10s
I also as recommended, created a volume, but still no logs inside the folder where this volume was created.
Feel free to ask anymore test.
PS: I would like to point out that the error "C locale" is gone from the docker logs command!
Hi there,
no problem. I really hope we can pin the problem down and I'm actually really thankful that you help me debug this issue.
The docker top output was somewhat useful. At least we do know now that it isn't the fault of the mount bind and the helper doesn't kill the server process.
For the next steps I would suggest you go back to your originally used docker run
command.
With the newest update (I pushed one again a few minutes again) you should be able to enter debug mode.
First method (was added a few minutes ago): Create a file simply called debug
inside your path (/docker-container/TeamSpeak3_Server)
If the first method didn't work somehow: Add -e DEBUG=1
to your docker run
command.
docker exec -it TeamSpeak3_Server bash
exec qemu-i386 ./ts3server
(TeamSpeak should now initialize and create everything we need)rm -r /teamspeak/init
and wait at least 2 seconds (the helper needs a few seconds to get out of the loop)ts3server.sqlitedb
present. (I would suggest simply use ls -l
for the directories and cat
to look at the log files)Some more information to some of the points above:
docker logs
: "Initialization completed!" and "Restart of TeamSpeak 3 Server initiated .." (These lines were also added today)The Server shouldn't crash at any time. As you saw TeamSpeak states its problems relatively clearly. It mentions after the timestamp if an error or warning occured.
Please report back the point that failed was well as the warnings and errors of teamspeak. Also if method 1 worked to enter debug mode or not.
Greetings
Hello,
So I pulled the latest version and used the -e DEBUG=1 parameter in my docker run command. I also created a debug file in the mount bind (I did a cat on that file but it is always empty).
The container is not crashing anymore (maybe because of the debug mode?) So I did the steps provided but I get an error while doing the exec qemu-i386 ./ts3server
while inside the container.
Here is the output:
2021-01-03 00:18:49.407436|INFO |ServerLibPriv | |TeamSpeak 3 Server 3.13.3 (2020-12-16 14:17:05) 2021-01-03 00:18:49.429018|INFO |ServerLibPriv | |SystemInformation: Linux 4.18.0-193.28.1.el7.aarch64 #1 SMP Wed Oct 21 16:25:35 UTC 2020 i686 Binary: 32bit 2021-01-03 00:18:49.430553|WARNING |ServerLibPriv | |The system locale is set to "C" this can cause unexpected behavior. We advice you to repair your locale! qemu:handle_cpu_signal received signal outside vCPU context @ pc=0xffff89993e8e
Looks like an architecture problem (I guess). Since the steps 3 didn't work as expected (the logs didn't show that it was listening on port 9987 I didn't do the other steps). Also, once the logs is showing the CPU error, I get kicked out of container (but it is still running).
The logs file is still empty is the mount bind, but I would like to add that the sqlitedb file was always present.
Thank you!
Oh wait,
I guess I might know where this problem is coming from .... I didn't really realise that the problem could come from there but it seems like it is, since I saw vCPU on the error log of qemu.
My RPI4 is hosting a ESXi hypervisor. So in other terms, I have multiple VMs on my RPI4.
Do you have any idea how can qemu support vCPU (virtual CPU)? If the problem is from there.
Thanks!
Oh indeed that could be the problem. Well, I never used virtualization on my RPis, so I have honestly no clue..
I just made a quick google search and it seems that the debian package of qemu is pretty old and a newer version may fix the problem, but I have to test if everything is still working fine before switching and pushing an update. Maybe even switching the debian version from buster to bullseye..
But it's getting pretty late. So expect further information and an update tomorrow! Hopefully everything will then work fine
Hi there,
I updated the container to debian bullseye and reworked therefore many of the scripts. Also qemu is now a much more recent version and actually fixed some problems, hopefully yours too! Thanks to that I was able to remove "ONLY_LOG_FILES" & "INTERVAL" as they are no longer needed.
Greetings
Hi there,
I updated the container to debian bullseye and reworked therefore many of the scripts. Also qemu is now a much more recent version and actually fixed some problems, hopefully yours too! Thanks to that I was able to remove "ONLY_LOG_FILES" & "INTERVAL" as they are no longer needed.
Greetings
Hello,
I pulled the latest container but I still have the container that exit after 20-30 seconds. The error this time is different !
Docker logs output :
Update available! 0 -> 3.13.3 Downloading new version: 3.13.3 Checksum check succesful! Installing new version 3.13.3! Version 3.13.3 installed succesfully! Starting TeamSpeak 3 Server .. Requested guest base 0x8000 does not satisfy host minimum alignment (0x10000) [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.
(I highlighted the interesting error)
Also, here is a docker top :
root 18397 18374 0 16:32 ? 00:00:00 s6-svscan -t0 /var/run/s6/services root 18456 18397 0 16:32 ? 00:00:00 s6-supervise s6-fdholderd root 18613 18397 0 16:32 ? 00:00:00 s6-supervise teamspeak root 18614 18397 0 16:32 ? 00:00:00 s6-supervise teamspeak_helper 1000 18615 18614 0 16:32 ? 00:00:00 /bin/sh /teamspeak/sh/helper.sh root 18617 18613 0 16:32 ? 00:00:00 sh ./run root 18634 18617 0 16:32 ? 00:00:00 sh /teamspeak/sh/startup.sh 1000 18637 18615 0 16:32 ? 00:00:00 sleep 30s root 18652 18634 0 16:32 ? 00:00:00 sleep 10s [root@teamspeak TeamSpeak3_Server]# docker top 260c87f19a10
I want to thank you for the effort your are putting into resolving this matter!
Also, before running the container, I remove everything in the mount bind (so I didn't have the debug file in the mount bind).
Feel free to ask any more test.
Hello,
I just tried with the debug mode on, and I did the command sent yesterday inside the container :
exec qemu-i386 ./ts3server
And unfortunately, I still see the same error apparently (here is the command output) :
2021-01-03 16:55:59.690934|INFO |ServerLibPriv | |TeamSpeak 3 Server 3.13.3 (2020-12-16 14:17:05) 2021-01-03 16:55:59.713540|INFO |ServerLibPriv | |SystemInformation: Linux 4.18.0-193.28.1.el7.aarch64 #1 SMP Wed Oct 21 16:25:35 UTC 2020 i686 Binary: 32bit 2021-01-03 16:55:59.717882|WARNING |ServerLibPriv | |The system locale is set to "C" this can cause unexpected behavior. We advice you to repair your locale! qemu:handle_cpu_signal received signal outside vCPU context @ pc=0xffff87709b0e
Hi,
please enter the debug mode and test with exec qemu-i386 -B 0x10000 ./ts3server
and see if this will help..
Hello,
I did try with the command exec qemu-i386 -B 0x10000 ./ts3server
and it generates the same error.
Thank you!
Hello,
For you information, I've submitted a bug report on Qemu page here is the link to my request:
https://bugs.launchpad.net/qemu/+bug/1909921
I'll keep you posted if anything comes in! Thank you again for your help and time spent on this matter.
Hi,
I'm sad to hear that nothing helped.. but hopefully they will have a fix for this
In the meantime you could use the Box86 versio, but only if you are not dependent on the filetransfer of the server.
docker run -d --name TeamSpeak3_Server -e TS_UPDATE=1 -e TIME_ZONE=Europe/Paris -p 9987:9987/udp -p 10011:10011/tcp -v /docker-container/TeamSpeak3_Server/:/teamspeak/save/ ertagh/teamspeak3-server:arm32v7-latest-box86
Greetings
Hi,
I'm sad to hear that nothing helped.. but hopefully they will have a fix for this
In the meantime you could use the Box86 versio, but only if you are not dependent on the filetransfer of the server.
docker run -d --name TeamSpeak3_Server -e TS_UPDATE=1 -e TIME_ZONE=Europe/Paris -p 9987:9987/udp -p 10011:10011/tcp -v /docker-container/TeamSpeak3_Server/:/teamspeak/save/ ertagh/teamspeak3-server:arm32v7-latest-box86
Greetings
Hello,
Unfortunately, the Box86 version doesn't work. I get this error when I do the docker run command:
WARNING: The requested image's platform (linux/arm) does not match the detected host platform (linux/arm64/v8) and no specific platform was requested
Then if I do a docker ps -a and I see that the container is exited. I checked the logs and it says this 👍
standard_init_linux.go:219: exec user process caused: exec format error
I guess maybe this is becauce the CPU architecture isn't compatible (Raspberry Pi 4 is ARMv8 and the image for Box86 is ARM32v7).
Thank you again for you help. I guess I'll take time to make a new container with Box86 compatible with ARMv8 achitecture and I don't want to force you to do it because it might not work at the end (since I have vCPU and all...) Anyway, if you decide to do it, take your time then, I'm not in a rush.
Hi,
It seems that I have the same problem too. I install the image 'arm64v8-latest-qemu' on my NAS 'QNAP' with arm cpu Coretex-A57. I got logs as following,
Current version (3.13.6) is up to date! Starting TeamSpeak 3 Server with ini-file .. 2021-09-11 03:03:01.123454|INFO |ServerLibPriv | |TeamSpeak 3 Server 3.13.6 (2021-06-09 10:22:37) 2021-09-11 03:03:01.149475|INFO |ServerLibPriv | |SystemInformation: Linux 4.2.8 #2 SMP Mon Jul 26 09:14:32 CST 2021 i686 Binary: 32bit 2021-09-11 03:03:01.151610|WARNING |ServerLibPriv | |The system locale is set to "C" this can cause unexpected behavior. We advice you to repair your locale! qemu:handle_cpu_signal received signal outside vCPU context @ pc=0x3ff8cb43e8e [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.
Is there any workaround to fix it?
Hi,
It seems that I have the same problem too. I install the image 'arm64v8-latest-qemu' on my NAS 'QNAP' with arm cpu Coretex-A57. I got logs as following,
Current version (3.13.6) is up to date! Starting TeamSpeak 3 Server with ini-file .. 2021-09-11 03:03:01.123454|INFO |ServerLibPriv | |TeamSpeak 3 Server 3.13.6 (2021-06-09 10:22:37) 2021-09-11 03:03:01.149475|INFO |ServerLibPriv | |SystemInformation: Linux 4.2.8 #2 SMP Mon Jul 26 09:14:32 CST 2021 i686 Binary: 32bit 2021-09-11 03:03:01.151610|WARNING |ServerLibPriv | |The system locale is set to "C" this can cause unexpected behavior. We advice you to repair your locale! qemu:handle_cpu_signal received signal outside vCPU context @ pc=0x3ff8cb43e8e [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.
Is there any workaround to fix it?
use box86 version
Hi, It seems that I have the same problem too. I install the image 'arm64v8-latest-qemu' on my NAS 'QNAP' with arm cpu Coretex-A57. I got logs as following, Current version (3.13.6) is up to date! Starting TeamSpeak 3 Server with ini-file .. 2021-09-11 03:03:01.123454|INFO |ServerLibPriv | |TeamSpeak 3 Server 3.13.6 (2021-06-09 10:22:37) 2021-09-11 03:03:01.149475|INFO |ServerLibPriv | |SystemInformation: Linux 4.2.8 #2 SMP Mon Jul 26 09:14:32 CST 2021 i686 Binary: 32bit 2021-09-11 03:03:01.151610|WARNING |ServerLibPriv | |The system locale is set to "C" this can cause unexpected behavior. We advice you to repair your locale! qemu:handle_cpu_signal received signal outside vCPU context @ pc=0x3ff8cb43e8e [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. Is there any workaround to fix it?
use box86 version
Hi, I just tried it today morning. It started up failure with the following error,
"standard_init_linux.go:219: exec user process caused: exec format error"
Hey... i'm trying to setup the server on an raspberry pi 5 with debian bookworm and the problem shows up again.
2024-01-06T15:22:59.817803359Z TeamSpeak updater: 2024-01-06T15:22:59.817823285Z ----------------------------------------------------------------------- 2024-01-06T15:23:00.375217102Z Current version (3.13.7) is up to date! 2024-01-06T15:23:10.388536158Z Starting TeamSpeak 3 Server .. 2024-01-06T15:23:10.972283836Z [cont-finish.d] executing container finish scripts... 2024-01-06T15:23:10.973179430Z [cont-finish.d] done. 2024-01-06T15:23:10.973719652Z [s6-finish] waiting for services. 2024-01-06T15:23:11.179405576Z [s6-finish] sending all processes the TERM signal. 2024-01-06T15:23:14.186087938Z [s6-finish] sending all processes the KILL signal and exiting.
I've tried to run the server from debug mode in portainer with "exec qemu-i386 -B 0x10000 ./ts3server", but i get kicked from console every time. Im using the same run command like on a raspberry pi 4 with bullseye, where it works.
Edit: It seems to be a problem with the rpi5, on an rpi3 running on bullseye it works.
Hi! Which tag are you using?
It may be that there are problems with the Pi5, but sadly I don't own one myself to check that.
Hey... I'm using the latest tag, but also tried arm32v7-latest-box86.
If you want, you can tell me what I have to do, im glad whether I can Help.
Ohh, I'm dumb. box-latest works...
Yeah my suggestion would have been to switch to the images using Box86/64. Well if you are using an 64 bit version of debian that may explain why box-latest worked and the box86 version did not.
I am also currently in the process of porting the images over to debian bookworm as base image. Hopefully teamspeak will release the executables for ts5 in the future...
Hello,
First of all, I would like to thank you for this project!
My issue is that when I start the container, it exit automatically after 20 seconds. In the logs of the container I got these messages:
Starting TeamSpeak 3 Server .. [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.
The container successfully updated to the latest version of TeamSpeak. I'm running it on a RPI4. I used the container available from docker-hub and also made the container from the Dockerfile but still the same issue. I'm using the Qemu emulator (not Box86, I didn't try with Box86).
If you have any idea why this is happening I thank you very much!