群晖上搭建teamspeak3语音服务器
什么是 TeamSpeak ?
TeamSpeak (简称 TS)是一款团队语音通讯工具,但比一般的通讯工具具有更多的功能而且使用方便。它由服务器端程序和客户端程序两部分组成,如果不是想自己架设 TS 服务器,只需下载客户端程序即可。Teamspeak 依靠先进的体系结构,方便灵活的应用功能,特别是领先的多媒体技术,为用户提供了一款强大的网络通讯工具。
安装
建数据库
老苏用了群晖自带的 MariaDB 10 数据库。
在 phpMyAdmin 中创建名为 teamspeak 的空数据库。
为便于说明,假设数据库密码为 123456
所以根据上面的设置,最后得到的数据库相关的参数如下:
数据库主机:192.168.0.197,与群晖主机 IP 一致;数据库端口:3307;数据库用户:teamspeak数据库密码:123456数据库库名:teamspeak,因为勾选了与用户同名;
安装镜像
在群晖上以 Docker 方式安装。
在注册表中搜索 teamspeak ,选择第一个 teamspeak,版本选择 latest。
本文写作时, latest 版本对应为 3.13.7;
卷
在 docker 文件夹中,创建一个新文件夹 teamspeak,并在其中建一个子文件夹 data
文件夹装载路径说明docker/teamspeak/data/var/ts3server存放设置、日志等
端口
本地端口不冲突就行,不确定的话可以用命令查一下
# 查看端口占用
netstat -tunlp | grep 端口号
本地端口容器端口协议99879987UDP3003330033TCP1001110011TCP
关于 TeamSpeak 3 端口的说明
上图截取自:https://support.teamspeak.com/hc/en-us/articles/360002712257-Which-ports-does-the-TeamSpeak-3-server-use
环境
可变值TS3SERVER_DB_PLUGIN控制数据库类型,设为 TS3SERVER_DB_WAITUNTILREADYTS3SERVER_DB_SQLCREATEPATH用于初始化数据库的 sql 脚本的路径,设为 create_mariadbTS3SERVER_DB_HOST数据库主机地址TS3SERVER_DB_PORT数据库主机端口TS3SERVER_DB_USER数据库用户TS3SERVER_DB_PASSWORD数据库密码TS3SERVER_DB_NAME数据库库名TS3SERVER_DB_WAITUNTILREADY数据库等待时间,设为 30TS3SERVER_LICENSE设为 accept
更多的环境变量,请参考官方文档:https://github.com/docker-library/docs/tree/master/teamspeak#environment-variables
命令行安装
如果你熟悉命令行,可能用 docker cli 更快捷
# 新建文件夹 teamspeak 和 子目录
mkdir -p /volume1/docker/teamspeak/data
# 进入 teamspeak 目录
cd /volume1/docker/teamspeak
# 运行容器
docker run -d \
--restart always \
--name teamspeak \
-p 9987:9987/udp \
-p 30033:30033 \
-p 10011:10011 \
-v $(pwd)/data:/var/ts3server \
-e TS3SERVER_DB_PLUGIN=ts3db_mariadb \
-e TS3SERVER_DB_SQLCREATEPATH=create_mariadb \
-e TS3SERVER_DB_HOST=192.168.0.197 \
-e TS3SERVER_DB_PORT=3307 \
-e TS3SERVER_DB_USER=teamspeak \
-e TS3SERVER_DB_PASSWORD=123456 \
-e TS3SERVER_DB_NAME=teamspeak \
-e TS3SERVER_DB_WAITUNTILREADY=30 \
-e TS3SERVER_LICENSE=accept \
teamspeak
也可以用 docker-compose 安装,将下面的内容保存为 docker-compose.yml 文件
version: '3.1'
services:
teamspeak:
image: teamspeak
container_name: teamspeak
restart: always
ports:
- 9987:9987/udp
- 30033:30033
- 10011:10011
volumes:
- ./data:/var/ts3server
environment:
TS3SERVER_DB_PLUGIN: ts3db_mariadb
TS3SERVER_DB_SQLCREATEPATH: create_mariadb
TS3SERVER_DB_HOST: 192.168.0.197
TS3SERVER_DB_PORT: 3307
TS3SERVER_DB_USER: teamspeak
TS3SERVER_DB_PASSWORD: 123456
TS3SERVER_DB_NAME: teamspeak
TS3SERVER_DB_WAITUNTILREADY: 30
TS3SERVER_LICENSE: accept
然后执行下面的命令
# 新建文件夹 teamspeak 和 子目录
mkdir -p /volume1/docker/teamspeak/{data,mysql}
# 进入 teamspeak 目录
cd /volume1/docker/teamspeak
# 将 docker-compose.yml 放入当前目录
# 一键启动
docker-compose up -d
运行
容器成功启动后,在的日志中,会看到
token=bfIo9mvaU+lrhwTDBjj0zI7TfOOwoOGyD9AqD6Z2
往上拉,还会看到管理员账号和密码
loginname= "serveradmin", password= "ZKowB7sM"
apikey= "BACDrGFPK9fKhyyTC76MjhZW6xpHlKbtPnVvIfN"
客户端
客户端下载地址:https://teamspeak.com/en/downloads/
第一次运行客户端,Nickname 中填serveradmin,Server Password 中填入 password 的值
Privillege key 中填入 token 值,
这个 token 值是一次性的
连接成功之后
服务器日志中会显示
其他自定义用户连接,不需要填 Server Password
直接连接就可以了,但默认的Server Groups 是不一样的
参考文档
TeamSpeak Systems GmbH 地址:https://github.com/TeamSpeak-Systems
Home | TeamSpeak 地址:https://teamspeak.com/zh-CN/
TeamSpeak - The Future of Online Communication 地址:https://new.teamspeak.com/
TeamSpeak-Systems/ts-services at beta-58rc20 地址:https://github.com/TeamSpeak-Systems/ts-services/tree/beta-58rc20