galexrt / docker-sinusbot

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

Restart fails #17

Closed R0GGER closed 7 years ago

R0GGER commented 7 years ago

Can not restart the container anymore....

Error:

Could not read configuration file: Near line 23, key 'LogFile': Near line 23: Expected value but found '/' instead.

When I remove the recent added lines (8-9) from entrypoint.sh the container starts normally again.

LOGPATH="${LOGPATH:-/sinusbot/data/sinus.log}"
sed -i 's#^LogFile.*#LogFile = '"$LOGPATH"'#g' "$SINUS_DIR/config.ini"
galexrt commented 7 years ago

@R0GGER Do you have the LOGPATH set in your environment variables? And if you have set it what path did you set it to?

R0GGER commented 7 years ago

No... I did not set LOGPATH in environment variables.

galexrt commented 7 years ago

Are you building the image yourself? Please post your docker run command.

deadchimis commented 7 years ago

I'm relatively new to linux and dockers, but i believe there is an issue where the LOGPATH file isn't actually copied to the directory. I had this in my output for the logfile path and files included:

root@####:/opt/docker/sinusbot/data# ls cache/ db/ radio.json store/ tmp/ ts3/

so in essence the logpath environment variable is trying to find a file but it doesnt exist. (sorry i am very very new when it comes to this so please take it easy on me)

galexrt commented 7 years ago

@deadchimis The line:

LOGPATH="${LOGPATH:-/sinusbot/data/sinus.log}"

Just tests if LOGPATH is set and if not assigns the variable the default /sinusbot/data/sinus.log. The second line:

sed -i 's#^LogFile.*#LogFile = '"$LOGPATH"'#g' "$SINUS_DIR/config.ini"

Then just uses sed to replace, if the line begins with LogFile, the line with LogFile = $LOGPATH.


@R0GGER Could you execute cat /sinusbot/config.ini and post the output of it.

R0GGER commented 7 years ago

RUN command: docker run -i -d -p 8090:8087 -v /local-path/data:/sinusbot/data -v /local-path/scripts:/sinusbot/scripts --name sinusbot-test galexrt/sinusbot:latest

Output config.ini:

root@47cdd4faa965:/# cat sinusbot/config.ini
TS3Path = "/sinusbot/TeamSpeak3-Client-linux_amd64/ts3client_linux_amd64"
ListenHost = "0.0.0.0"
DataDir = "/sinusbot/data/"
ListenPort = 8087
LocalPlayback = false
EnableLocalFS = false
MaxBulkOperations = 300
LogLevel = 3
EnableProfiler = false
YoutubeDLPath = "/usr/local/bin/youtube-dl"
EnableDebugConsole = false
UploadLimit = 83886080
RunAsUser = 0
RunAsGroup = 0
InstanceActionLimit = 6
UseSSL = false
SSLKeyFile = ""
SSLCertFile = ""
Hostname = ""
SampleInterval = 60
StartVNC = false
EnableWebStream = false
LogFile = ""
LicenseKey = "f39OGlCCnIH4dwMeOOx7vmrENN7QZoXhUcmCyi4PDho="
IsProxied = false
DenyStreamURLs = []
Pragma = 0

[YoutubeDL]
  BufferSize = 524288
  MaxDownloadSize = 419430400
  MaxDownloadRate = 104857600
  CacheStreamed = false

[TS3]
  AvatarMaxWidth = 0
  AvatarMaxHeight = 0
  AllowGIF = false

[StreamRewrites]

[Scripts]
  AllowReload = false
  EnableTimer = false

[Themes]
  Default = ""

[SpeechRecognition]
  Enable = false

[FFmpeg]
  UserAgent = "SinusBot (0.9.16-10f0fad)"

[DAV]
  Enable = false

[XServer]
  Delay = 0
  Debug = false

Starting it the first time is no problem, but restarting it fails....

rogger@server:~$ docker restart sinusbot-test
-> Setting Sinusbot log file location to "" ...
=> Sinusbot logging to "/sinusbot/data/sinus.log".
-> Updating sinusbot user and group id if necessary ...
-> Correcting file and mount point permissions ...
=> Corrected mount point permissions.
-> Checking if scripts directory is empty
=> Scripts directory is marked that scripts got copied. Nothing to do.
-> Checking for old data location ...
=> You are good to go! You are already using the new data directory, located at "/sinusbot/data".
=> Updating Youtube-dl...
youtube-dl is up-to-date (2017.02.27)
=> Updated youtube-dl with exit code 0
=> Starting SinusBot (https://sinusbot.com) by Michael Friese ...
Could not read configuration file: Near line 23, key 'LogFile': Near line 23: Expected value but found '/' instead.
galexrt commented 7 years ago

I think I found the cause of the problem. I pushed a potential fix for the problem. Can you repull and try again?

R0GGER commented 7 years ago

Yup! Nice work no errors anymore!

Version: 0.9.16-10f0fad
(C) 2013-2016 Michael Friese. All rights reserved.

Using Logfile /sinusbot/data/sinus.log
galexrt commented 7 years ago

That's good to hear! Closing as the issue is fixed.

romeuviana commented 6 years ago

it says every time youtube-dl not available , i already downloaded the last version of youtube-dl and put the right path file..

TS3Path = "E:\Sinusbot\TeamSpeak 3 Client\ts3client_win64.exe" ListenHost = "0.0.0.0" DataDir = "E:\Sinusbot\data\" ListenPort = 8087 LocalPlayback = false EnableLocalFS = false MaxBulkOperations = 300 LogLevel = 3 EnableProfiler = false YoutubeDLPath = "E:\Sinusbot\youtube-dl" EnableDebugConsole = false UploadLimit = 83886080 RunAsUser = 0 RunAsGroup = 0 InstanceActionLimit = 6 UseSSL = false SSLKeyFile = "" SSLCertFile = "" Hostname = "" HostnameMask = "" SampleInterval = 60 StartVNC = false EnableWebStream = false LogFile = "" LicenseKey = "yv20pPpt4CXf3LBz8CtLw81sm+g6Wr0qtduwVO1qezc=" IsProxied = false DenyStreamURLs = [] Pragma = 0 UserAgent = ""

[YoutubeDL] BufferSize = 524288 MaxDownloadSize = 419430400 MaxDownloadRate = 104857600 MaxSimultaneousChunkDownloads = 6 CacheStreamed = false TimeoutSingleDownloader = 0 TimeoutMultiDownloader = 0 ChunkSize = 3145728

[TS3] AvatarMaxWidth = 0 AvatarMaxHeight = 0 AllowGIF = false

[StreamRewrites]

[Scripts] AllowReload = false EnableTimer = false DisableLegacyEvents = false ScriptTimeout = 5

[Themes] Default = ""

[SpeechRecognition] Enable = false

[FFmpeg] UserAgent = "SinusBot (0.13.37-f37f203)"

[DAV] Enable = false

[XServer] Delay = 0 Debug = false

[SHMem] Enable = false Size = 0 Delay = 0 Interval = 0

[RadioStations] URL = "" UpdateInterval = 0

galexrt commented 6 years ago

@romeuviana Please create a new issue for the problem you are experiencing.

Please additionally answer the following questions in the issue you are going to create: Are you using the Docker image (It doesn't seem that you are using Docker because of the Windows style paths in your config file)? If you are using it, which version (e.g. docker images | grep galexrt/sinusbot).