You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
tailchat/server
moonrailgun 51c2fb2032 feat: 增加开放平台oauth demo app 2 years ago
..
.github/workflows chore: move tailchat-server into tailchat 3 years ago
admin fix: 修复admin socketio平台链接协议问题 2 years ago
admin-next chore: rename admin -> admin-next, its depend tushan, but tushan not ready for production 2 years ago
devops docs: update docker-compose -> docker compose 2 years ago
lib feat: 增加机器人接受到新的收件箱信息时调用回调 2 years ago
locales feat: 增加用户封禁标识与断开连接功能 2 years ago
mixins feat: 增加用户封禁标识与断开连接功能 2 years ago
models feat: 增加topic插件的收件箱通知项 2 years ago
packages feat: 增加开放平台oauth demo app 2 years ago
plugins feat: 增加topic插件的收件箱通知项 2 years ago
public chore: move tailchat-server into tailchat 3 years ago
scripts chore: add swagger script for api 2 years ago
services refactor: 调整开放平台机器人服务消息回调通知 2 years ago
test feat: 增加删除群组角色的接口 2 years ago
types chore: move tailchat-server into tailchat 3 years ago
views feat: 增加邮箱认证功能 2 years ago
.dockerignore chore: move tailchat-server into tailchat 3 years ago
.env.example chore: move tailchat-server into tailchat 3 years ago
.gitignore chore: add swagger script for api 2 years ago
.npmrc chore: move tailchat-server into tailchat 3 years ago
README.md Update README.md 2 years ago
jest.config.js chore: move tailchat-server into tailchat 3 years ago
moleculer.config.ts feat: 增加环境变量用于禁用日志选项 2 years ago
package.json chore: add admin dev script 2 years ago
runner.ts chore: move tailchat-server into tailchat 3 years ago
tsconfig.json chore: 修复服务端编译时会抛出的警告问题 2 years ago

README.md

tailchat-server

启动开发服务器

cp .env.example .env
vim .env

编辑.env的配置为自己的

pnpm install # 安装环境变量
pnpm dev # 启动开发服务器

开发环境

强烈建议使用 Docker 初始化第三方开发环境, 隔离性更加好 并且无需复杂的安装配置。

mongodb

docker run -d --name mongo -p 127.0.0.1:27017:27017 mongo:4

redis

docker run -d --name redis -p 127.0.0.1:6379:6379 redis

minio

docker run -d \
  -p 127.0.0.1:19000:9000 \
  -p 127.0.0.1:19001:9001 \
  --name minio \
  -e "MINIO_ROOT_USER=tailchat" \
  -e "MINIO_ROOT_PASSWORD=com.msgbyte.tailchat" \
  minio/minio server /data --console-address ":9001"

服务端插件安装方式

安装所有插件

pnpm plugin:install all

安装单个插件

pnpm plugin:install com.msgbyte.tasks

单节点部署

docker-compose 一键部署

请确保已经安装了:

  • docker
  • docker-compose(或者docker compose plugin)

在项目根目录下执行

docker compose build # 需要编译
docker compose up -d

运维

使用mongo工具进行管理

从docker中取出mongodb的数据

docker exec -it <MONGO_DOCKER_NAME> mongodump -h 127.0.0.1 --port 27017 -d <MONGO_COLLECTION_NAME> -o /opt/backup/
docker exec -it <MONGO_DOCKER_NAME> tar -zcvf /tmp/mongodata.tar.gz /opt/backup/<MONGO_COLLECTION_NAME>
docker cp <MONGO_DOCKER_NAME>:/tmp/mongodata.tar.gz ${PWD}/

将本地的备份存储到mongodb镜像

docker cp mongodata.tar.gz <MONGO_DOCKER_NAME>:/tmp/
docker exec -it <MONGO_DOCKER_NAME> tar -zxvf /tmp/mongodata.tar.gz
docker exec -it <MONGO_DOCKER_NAME> mongorestore -h 127.0.0.1 --port 27017 -d <MONGO_COLLECTION_NAME> /opt/backup/<MONGO_COLLECTION_NAME>

通过docker volume

备份

docker run -it --rm --volumes-from <DOCKER_CONTAINER_NAME> -v ${PWD}:/opt/backup --name export busybox sh

# 进入容器
tar -zcvf /opt/backup/data.tar <DATA_PATH>

exit

此处<DATA_PATH>, 如果是minio则为/data/如果是mongo则为/data/db

恢复

docker run -it --rm --volumes-from <DOCKER_CONTAINER_NAME> -v ${PWD}:/opt/backup --name importer busybox sh
tar -zxvf /opt/backup/data.tar
exit

Benchmark

Case 1

Case 2