testing #1
This commit is contained in:
parent
a4a6f14878
commit
634e2fcd65
66
Dockerfile
Normal file
66
Dockerfile
Normal file
@ -0,0 +1,66 @@
|
||||
FROM ubuntu:22.04
|
||||
|
||||
ENV SINUSBOT_VERSION=current \
|
||||
TS3_VERSION=3.5.6 \
|
||||
TS3_ARCH=amd64 \
|
||||
BOT_USER=sinusbot \
|
||||
BOT_HOME=/opt/sinusbot
|
||||
|
||||
# Pakete installieren
|
||||
RUN apt-get update && \
|
||||
DEBIAN_FRONTEND=noninteractive apt-get install -y \
|
||||
wget bzip2 ca-certificates curl dbus iproute2 less screen xvfb \
|
||||
libasound2 libegl1-mesa libfontconfig libglib2.0-0 libnss3 libpci3 \
|
||||
libxcomposite-dev libxcursor1 libxdamage1 libxi6 libxkbcommon0 \
|
||||
libxkbcommon-x11-0 libxss1 libxslt1.1 libxtst6 x11-xkb-utils \
|
||||
libpulse0 espeak-ng mbrola mbrola-de6 \
|
||||
fonts-dejavu fonts-liberation fonts-freefont-ttf \
|
||||
&& update-ca-certificates && \
|
||||
useradd -m -d /home/${BOT_USER} -s /bin/bash ${BOT_USER} && \
|
||||
mkdir -p ${BOT_HOME} && \
|
||||
chown -R ${BOT_USER}:${BOT_USER} ${BOT_HOME}
|
||||
|
||||
# SinusBot
|
||||
WORKDIR /tmp
|
||||
RUN wget -q https://www.sinusbot.com/dl/sinusbot.${SINUSBOT_VERSION}.tar.bz2 && \
|
||||
tar -xjf sinusbot.${SINUSBOT_VERSION}.tar.bz2 -C ${BOT_HOME} && \
|
||||
rm sinusbot.${SINUSBOT_VERSION}.tar.bz2
|
||||
|
||||
# TS3 Client
|
||||
RUN wget https://files.teamspeak-services.com/releases/client/${TS3_VERSION}/TeamSpeak3-Client-linux_${TS3_ARCH}-${TS3_VERSION}.run && \
|
||||
chmod +x TeamSpeak3-Client-linux_${TS3_ARCH}-${TS3_VERSION}.run && \
|
||||
mkdir /tmp/ts3 && \
|
||||
yes y | ./TeamSpeak3-Client-linux_${TS3_ARCH}-${TS3_VERSION}.run --target /tmp/ts3 && \
|
||||
mkdir -p ${BOT_HOME}/teamspeak3-client && \
|
||||
cp -r /tmp/ts3/* ${BOT_HOME}/teamspeak3-client/ && \
|
||||
rm -rf /tmp/ts3 *.run
|
||||
|
||||
# Plugin verlinken
|
||||
RUN mkdir -p ${BOT_HOME}/teamspeak3-client/plugins && \
|
||||
cp ${BOT_HOME}/plugin/libsoundbot_plugin.so ${BOT_HOME}/teamspeak3-client/plugins/
|
||||
|
||||
# config.ini
|
||||
COPY ./data/config.ini ${BOT_HOME}/config.ini
|
||||
|
||||
# Kopieren der Standard-Skripte
|
||||
RUN cp -a ${BOT_HOME}/scripts ${BOT_HOME}/scripts.dist
|
||||
|
||||
# Rechte setzen
|
||||
RUN chown -R ${BOT_USER}:${BOT_USER} ${BOT_HOME} && \
|
||||
chmod +x ${BOT_HOME}/sinusbot
|
||||
|
||||
# entrypoint.sh ins Image kopieren
|
||||
COPY ./data/bin/entrypoint.sh /opt/sinusbot/entrypoint.sh
|
||||
RUN chmod +x /opt/sinusbot/entrypoint.sh
|
||||
|
||||
# Rechte setzen
|
||||
RUN chown -R ${BOT_USER}:${BOT_USER} ${BOT_HOME} && \
|
||||
chmod +x ${BOT_HOME}/sinusbot
|
||||
|
||||
WORKDIR ${BOT_HOME}
|
||||
USER ${BOT_USER}
|
||||
|
||||
EXPOSE 8087
|
||||
|
||||
ENTRYPOINT ["/opt/sinusbot/entrypoint.sh"]
|
||||
CMD ["./sinusbot"]
|
91
README.md
91
README.md
@ -1,8 +1,93 @@
|
||||
# template_repository
|
||||
# 🎧 Sinusbot Docker Setup
|
||||
|
||||
Dieses Repository stellt ein vollständig lauffähiges **Docker-Setup für Sinusbot** zur Verfügung.
|
||||
Ziel ist es, Sinusbot sauber in Containern betreiben zu können – **inkl. persistenter Daten**, **Addons** und allem, was man für eine produktive Nutzung braucht.
|
||||
|
||||
---
|
||||
|
||||
Wichtig: Link für Lizenz anpassen.
|
||||
## 🧐 Was ist Sinusbot?
|
||||
|
||||
[Sinusbot](https://www.sinusbot.com/) ist ein Musikbot für **Teamspeak 3** und **Discord**, der lokal oder serverseitig betrieben werden kann.
|
||||
Er streamt Musik (z. B. MP3-Dateien oder Internet-Radios), kann per Webinterface gesteuert werden, unterstützt eine Vielzahl an Scripts zur Automatisierung und lässt sich sehr granular konfigurieren.
|
||||
|
||||
Sinusbot eignet sich hervorragend für Gaming-Communities, Clans oder private TS3-Server, um automatisch Musik oder Soundeffekte zu spielen, Nachrichten vorlesen zu lassen (TTS) oder einfache Chat-Automationen umzusetzen.
|
||||
|
||||
---
|
||||
|
||||
## 🚀 Schnellstart
|
||||
|
||||
1. Repository klonen
|
||||
```bash
|
||||
git clone https://git.techniverse.net/scriptos/sinusbot-docker.git
|
||||
```
|
||||
|
||||
2. In das Projektverzeichnis wechseln
|
||||
```bash
|
||||
cd sinusbot-docker
|
||||
```
|
||||
|
||||
3. Schreibrechte anpassen (Benutzer-ID ggf. anpassen)
|
||||
```bash
|
||||
chown -R 1000:1000 data
|
||||
```
|
||||
|
||||
4. (Optional) eigenes Docker-Netzwerk anlegen
|
||||
```bash
|
||||
docker network create --subnet=172.16.72.0/24 sinusbot.dockernetwork.local
|
||||
```
|
||||
|
||||
👉 **Hinweis:**
|
||||
Falls du kein eigenes Netzwerk verwenden möchtest, kannst du diesen Schritt überspringen. Du musst außerdem den Abschnitt `networks:` in der `docker-compose.yaml` entsprechend entfernen oder anpassen.
|
||||
|
||||
5. Container starten
|
||||
```bash
|
||||
docker-compose up -d
|
||||
```
|
||||
|
||||
6. Admin-Kennwort anzeigen lassen (wird nur nach dem ersten Start angezeigt)
|
||||
```bash
|
||||
docker-compose logs
|
||||
```
|
||||
|
||||
👉 Im Log erscheint ein Hinweis wie:
|
||||
|
||||
```bash
|
||||
Generating new bot instance with account 'admin' and password '3alMse7m'
|
||||
PLEASE MAKE SURE TO CHANGE THE PASSWORD DIRECTLY AFTER YOUR FIRST LOGIN!!!
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 🔗 Webinterface aufrufen
|
||||
|
||||
Nach dem Start erreichst du das Webinterface unter:
|
||||
|
||||
```
|
||||
http://<deine-server-ip>:8087
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
Die vollständige Dokumentation zur Einrichtung, zur Teamspeak-Integration, zu Scripts und Addons sowie zum Volume-Handling findest du in der [Dokumentation von Sinusbot](https://sinusbot.github.io/docs/).
|
||||
|
||||
---
|
||||
|
||||
## 🛠️ Hinweise
|
||||
|
||||
- Der Container läuft als Benutzer `1000:1000`. Falls dein Host-System abweicht, bitte entsprechend anpassen.
|
||||
- Teamspeak- und Sinusbot-Container können im selben Docker-Netzwerk betrieben werden – ideal, wenn du eine direkte Verbindung ohne NAT willst.
|
||||
- Die Standard-Scripts aus dem Image werden beim **ersten Start automatisch** in den gemounteten Script-Ordner kopiert.
|
||||
|
||||
---
|
||||
|
||||
## 📄 Lizenz
|
||||
|
||||
Dieses Projekt steht unter der MIT-Lizenz.
|
||||
Die Nutzung von Sinusbot selbst unterliegt der [FAQ von sinusbot.com](https://sinusbot.github.io/docs/faq/general/).
|
||||
|
||||
---
|
||||
|
||||
Mit ❤️ von [techniverse.net](https://www.techniverse.net)
|
||||
|
||||
|
||||
|
||||
@ -11,5 +96,5 @@ Wichtig: Link für Lizenz anpassen.
|
||||
</p>
|
||||
|
||||
<p align="center">
|
||||
<img src="https://assets.techniverse.net/f1/logos/small/license.png" alt="License" width="15" height="15"> <a href="./template_repository/src/branch/main/LICENSE">License</a> | <img src="https://assets.techniverse.net/f1/logos/small/matrix2.svg" alt="Matrix" width="15" height="15"> <a href="https://matrix.to/#/#community:techniverse.net">Matrix</a> | <img src="https://assets.techniverse.net/f1/logos/small/mastodon2.svg" alt="Matrix" width="15" height="15"> <a href="https://social.techniverse.net/@donnerwolke">Mastodon</a>
|
||||
<img src="https://assets.techniverse.net/f1/logos/small/license.png" alt="License" width="15" height="15"> <a href="./sinusbot-docker/src/branch/main/LICENSE">License</a> | <img src="https://assets.techniverse.net/f1/logos/small/matrix2.svg" alt="Matrix" width="15" height="15"> <a href="https://matrix.to/#/#community:techniverse.net">Matrix</a> | <img src="https://assets.techniverse.net/f1/logos/small/mastodon2.svg" alt="Matrix" width="15" height="15"> <a href="https://social.techniverse.net/@donnerwolke">Mastodon</a>
|
||||
</p>
|
9
data/bin/entrypoint.sh
Normal file
9
data/bin/entrypoint.sh
Normal file
@ -0,0 +1,9 @@
|
||||
#!/bin/bash
|
||||
|
||||
SCRIPTS_DIR="/opt/sinusbot/scripts"
|
||||
|
||||
if [ -d "$SCRIPTS_DIR" ] && [ ! "$(ls -A $SCRIPTS_DIR)" ]; then
|
||||
cp -a /opt/sinusbot/scripts.dist/* "$SCRIPTS_DIR/"
|
||||
fi
|
||||
|
||||
exec "$@"
|
3
data/config.ini
Normal file
3
data/config.ini
Normal file
@ -0,0 +1,3 @@
|
||||
TS3Path = "/opt/sinusbot/teamspeak3-client/ts3client_linux_amd64"
|
||||
ListenHost = "0.0.0.0"
|
||||
DataDir = "/opt/sinusbot/data/"
|
21
docker-compose.yaml
Normal file
21
docker-compose.yaml
Normal file
@ -0,0 +1,21 @@
|
||||
---
|
||||
services:
|
||||
sinusbot:
|
||||
image: repo.techniverse.net/docker-hosted/sinusbot:1.0.2
|
||||
container_name: sinusbot
|
||||
hostname: sinusbot
|
||||
networks:
|
||||
sinusbot.dockernetwork.local:
|
||||
ipv4_address: 172.16.72.10
|
||||
user: "1000:1000"
|
||||
ports:
|
||||
- "8087:8087"
|
||||
volumes:
|
||||
- ./data/config.ini:/opt/sinusbot/config.ini
|
||||
- ./data/data:/opt/sinusbot/data
|
||||
- ./data/scripts:/opt/sinusbot/scripts
|
||||
restart: unless-stopped
|
||||
|
||||
networks:
|
||||
sinusbot.dockernetwork.local:
|
||||
external: true
|
Loading…
x
Reference in New Issue
Block a user