- Easy Updateable
- Minimal dependencies to the Host system
- Integrated Text-to-Speech engine
- Compatible with macOS
By using this image you accept the Privacy statement of the TeamSpeak Systems GmbH, the SinusBot Privacy Policy and the license agreement.
Download the docker-compose file in it's own directory and start it with docker-compose up
.
docker run -d -p 8087:8087 \
-v scripts:/opt/sinusbot/scripts \
-v data:/opt/sinusbot/data \
--name sinusbot sinusbot/docker
It is recommended that you run the SinusBot as a non-root user, even though the docker container is mostly isolated from the host. This can be done as described in the following:
- add a new user:
adduser --disabled-login sinusbot
- create the required folders if they don't exist:
mkdir -p /opt/sinusbot/data /opt/sinusbot/scripts
- give the user permissions to the folders:
chown -R sinusbot:sinusbot /opt/sinusbot
- add
-u sinusbot
to the docker run command shown above when you start it
Additional information on setting the user or remapping the user can be found in the docker documentation.
After starting the SinusBot docker image with docker run
an ID will be returned in the next line.
Use the command docker logs sinusbot
to print out the logs of the container.
The beginning of the log should contain your credentials:
[...]
-------------------------------------------------------------------------------
Generating new bot instance with account 'admin' and password 'YOUR_PASSWORD_HERE'
PLEASE MAKE SURE TO CHANGE THE PASSWORD DIRECTLY AFTER YOUR FIRST LOGIN!!!
-------------------------------------------------------------------------------
[...]
By setting the OVERRIDE_PASSWORD
environment variable you can override the password of the SinusBot. Usage:
docker run -d -p 8087:8087 \
-v scripts:/opt/sinusbot/scripts \
-v data:/opt/sinusbot/data \
-e OVERRIDE_PASSWORD=foobar \
--name sinusbot sinusbot/docker
To use your license, which you've got from the License Page in the Forum, you need to save the private.dat
into the data folder.
After restarting the container (docker restart sinusbot
) your licensed instances should appear automatically.
There is an image for discord only usage, this won't contain the TeamSpeak client with the additonal dependencies.
To use it you just have to use the discord
tag instead of latest
(default) tag:
docker run -d -p 8087:8087 \
-v scripts:/opt/sinusbot/scripts \
-v data:/opt/sinusbot/data \
--name sinusbot sinusbot/docker:discord
Docker containers themselves should not store application data, instead the data is stored in volumes (in this case scripts
and data
).
To upgrade a container you need to remove and re-run it as shown below.
-
Stop and remove the old container.
docker stop sinusbot docker rm sinusbot
-
Pull the latest image:
docker pull sinusbot/docker
-
Create a new container with your volumes.
docker run --rm -d -p 8087:8087 \ -v scripts:/opt/sinusbot/scripts \ -v data:/opt/sinusbot/data \ --name sinusbot sinusbot/docker
It is also possible to automate this process by running Watchtower.
The Chromium Text-to-Speech engine is pre-installed but disabled by default due to higher cpu/memory usage.
To enable it you simply need to set the TTS.Enabled
property to true
in the config.ini
stored in the data
volume (/opt/sinusbot/data
) and restart your container (docker restart sinusbot
).
Once it's enabled it can be used by setting the locale to en-US
or de-DE
in the instance settings.
Can be pulled by using:
docker pull quay.io/sinusbot/docker
For using docker-compose with quay.io just replace sinusbot/docker
with quay.io/sinusbot/docker
. Example:
# docker-compose.yml
sinusbot:
image: quay.io/sinusbot/docker
restart: always
ports:
- 8087:8087
volumes:
- ./scripts:/opt/sinusbot/scripts
- ./data:/opt/sinusbot/data
In the SinusBot you have to use the network alias teamspeak.docker.local
as hostname.
# docker-compose.yml
version: '2'
services:
teamspeak:
image: teamspeak
restart: always
ports:
- 9987:9987/udp
- 10011:10011
- 30033:30033
environment:
TS3SERVER_LICENSE: accept
networks:
mynetwork:
aliases:
- teamspeak.docker.local
sinusbot:
image: sinusbot/docker
restart: always
ports:
- 8087:8087
volumes:
- ./scripts:/opt/sinusbot/scripts
- ./data:/opt/sinusbot/data
networks:
- mynetwork
networks:
mynetwork:
driver: bridge