部署Tailchat即时通讯软件

发布于 / 未分类 / 1 条评论

最近RocketChat的服务器快挂了,准备搞个新的即时通讯服务。
RocketChat现在多人要收费了,所以我就看中了Tailchat
Tailchat的UI界面和Discord非常相似,这也成为了我想尝试它的点之一
废话不多说,直接进入主题!

先给出Tailchat官网和Tailchat文档的链接

1.你需要一个Linux服务器并且有公网IP,能连接SSH

2.安装服务器的Docker环境
进入SSH,输入

curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
这样就代表成功了

3.启动Docker
输入
systemctl start docker
来启动Docker
systemctl status docker
查看Docker是否运行,如返回 Active: active (running) 则代表运行成功

4.使用Docker Compose部署
输入

docker pull moonrailgun/tailchat # 从公共镜像库拉取 tailchat镜像
docker tag moonrailgun/tailchat tailchat # 将下载的镜像改名为tailchat(和源码编译保持一致,如果不改的话会走源码编译流程)
看到Complete就OK了!接着下一步

5.启动之前需要下载配置文件以告知 docker-compose 要如何启动镜像 从仓库下载配置文件与配置环境变量:

mkdir tailchat && cd tailchat
wget https://raw.githubusercontent.com/msgbyte/tailchat/master/docker-compose.yml
wget https://raw.githubusercontent.com/msgbyte/tailchat/master/docker-compose.env

PS:如果提示wget未下载,CentOS使用 sudo yum install wget
Ubuntu使用 sudo apt install wget

在启动之前需要修改一下配置

修改 docker-compose.env 文件的配置,以下字段推荐修改:

  • API_URL 对外可访问的url地址,用于文件服务访问, 可以是域名也可以是ip 如果出现发送图片不能正常显示就是这个变量没有设置
  • SECRET 服务端加密秘钥,用于生成Token. 默认为 tailchat

完成配置后使用docker-compose 一键启动 Tailchat 应用:

# 确保配置文件(docker-compose.yml和docker-compose.env)在当前目录下
# 执行以下命令一键启动
docker compose up -d

访问: http://<server ip>:11000 即可打开tailchat

注意部分云服务可能需要手动开放防火墙端口。

部署管理后台(可选)

github获取最新的管理后台配置:

wget https://raw.githubusercontent.com/msgbyte/tailchat/master/docker/admin.yml 

在环境变量 docker-compose.env 中设置管理后台的账号和密码:

ADMIN_USER=tailchatADMIN_PASS=<这里写入独立的后台密码, 不要告知其他人>

然后使用多文件方式启动应用:

docker compose -f docker-compose.yml -f admin.yml up -d 

注意先后顺序,因为admin.yml依赖docker-compose.yml所以要放在后面

此时访问后台地址后面追加/admin/即可访问:

https://tailchat.example.com/admin/
注意不要忘记在最后有一个/

备份与恢复

# 备份
docker exec -i <IMAGE_NAME> mongodump -d tailchat --archive > ./backup.archive

# 还原
docker exec -i <IMAGE_NAME> mongorestore -d tailchat --archive < ./backup.archive

其中<IMAGE_NAME> 表示mongodb镜像名,而-d tailchat 表示使用的数据库的名字,默认启动的数据库名为tailchat, 你可以通过环境变量MONGO_URL进行修改

转载原创文章请注明,转载自: 数码恶魔的博客 - D1gital_D3mon's Blog » 部署Tailchat即时通讯软件

  1. jiyouzhan

    这篇文章写得深入浅出,让我这个小白也看懂了!