基于Docker私有化部署TeamSpeak3服务端
TeamSpeak简介
TeamSpeak 是全球流行的团队语音通讯工具软件
常用于游戏、会议团队语音沟通,并提供文字聊天、文件共享功能,所有数据加密传输
拥有以下优势:
低延迟
毫秒级超低延迟,适用于对语音即时通讯有严格要求的团队游戏、远程会议等场合
高品质
支持多种语音编码格式,包括SPEEX、CELT、OPUS等多种格式;并可设置从1级到10级的语音质量
更保密
基于不对称加密方式(RSA加密算法),对用户认证、语音传输进行加密,保护用户隐私
权限系统
自己可以完全控制的用户权限系统,可分组及单独控制用户行为
无广告
没有任何广告及垃圾邮件
总结下来就是一个轻量、高效、低延迟的语音通讯工具。但是由于没有官方服务器,所以需要使用者自行搭建服务端。因此,相比于其它主流语音工具,TeamSpeak有一点小小的门槛。本次则是基于官方的docker镜像,部署在私有服务器上。
若是不想自行搭建服务端,国内也有第三方服务器提供商,可以即买即用。我了解到的是10人的服务器价格为10RMB/月。
想要使用TeamSpeak最主要的契机是,最近和朋友一起玩游戏时,为了方便我们一直都是使用微信语音。但是可能是网络原因,有时对话会有1~2秒的延迟,给人的感觉就像是在使用纸杯电话交流一样,说一句话之后要等待一会才会有回复。在玩需要即时配合的游戏时体验会很差。(经常是对方都死了好一会这边才听到惨叫)
所以为了更好的游戏体验,就决定动动小手在自己的服务器上部署一个TeamSpeak。
可惜搭建完之后玩游戏的时间越来越少了= =
服务端部署
安装docker
确认服务器已经安装 Docker 和 Docker-Compose
1 | docker -v |
如能正常显示版本号,下面这一步直接跳过,否则要手动安装,这里以 CentOS 7
为例安装:
若是其他系统,请自行搜索教程。步骤大差不差
1 | # 安装yum-utils |
配置 TeamSpeak
- 新建TeamSpeak的工作目录
1 | mkdir /root/ts # 创建目录 |
直接在root目录创建是个不好的习惯,图方便这样整的,不要学。可以建在根目录下
- 在当前目录下创建docker-compose.yml 文件,并编辑内容
1 | version: '3.1' |
注意事项
镜像必须指定tag为3.13.7,若为空或者latest则无法使用(因为实际上3.13.7才是最新的,镜像制作者一直没有更新镜像tag)
- 2023-08-11:实际上不是镜像制作者的问题,镜像tag是正确的。可能当时我没有正确的重启Docker容器导致的错觉。ISSUE:Please update the ‘latest’ tag as it points to an old version. · Issue #100 · TeamSpeak-Systems/teamspeak-linux-docker-images (github.com)
TeamSpeak的端口映射9987和10080是必须要打开的。其余几个可以根据需求选择
两个服务的volumes(数据卷)一定要配置,不然重启容器后数据会不可逆的丢失
TeamSpeak中环境变量里的TS3SERVER_DB_PASSWORD和TS3SERVER_DB_NAME一定要和db中对应
TS3SERVER_DB_PLUGIN
和TS3SERVER_DB_SQLCREATEPATH
指定了以 MariaDB 作为数据库实现,这也是官方推荐的方案。可以更换为其它服务,官方还支持 PostgreSQL ,但是我没配置成功,有兴趣的话可以自行研究一下。
服务器上要使用
vi/vim/nano
编辑文件,如果没有,CentOS 系统使用yum install nano
类似的指令安装1
2
3
4
5
6
7
8
9
10
11
12# [新建文件]
vi docker-compose.yml
# 或
vim docker-compose.yml
# 或
nano docker-compose.yml
# [粘贴] ctrl+v 或 ctrl+shift+v 或 shift+insert
# [保存] vi/vim: ESC :wq Enter
# [保存] nano: ctrl+x
启动服务
确认当前在 docker-compose.yml
所在的目录,如 cd /data/ts
:
1 | # 启动服务 |
注意事项:
- 第一次启动时会弹出
Server Query 管理员账号密码
和token
,务必妥善保存 - 第一次如果用
docker compose up -d
启动没有看到token信息,可以到数据卷挂载的目录下./data/logs
查看相关日志
开放规则
云服务器的防火墙设置页添加如下入站规则:
- 9987 UDP
- 30033 TCP
- 10080 TCP
安装、汉化客户端
客户端下载地址:TeamSpeak 下载
汉化包下载地址:TS3-Translation_zh-CN
安装完客户端后运行汉化包中的文件,即可完成汉化。
具体的客户端配置、使用可参考此视频Teamspeak3完全使用手册(2023) 从安装汉化到服务器搭建!一个视频从零基础到上手