diff --git a/website/docs/deployment/dev.md b/website/docs/deployment/dev.md index 758d4c4a..5e1e6e2a 100644 --- a/website/docs/deployment/dev.md +++ b/website/docs/deployment/dev.md @@ -3,23 +3,21 @@ sidebar_position: 99 title: 开发环境 --- -对于开发环境的搭建,tailchat 提供了非常简单快捷的方式 +对于开发环境的搭建,tailchat 提供了非常简单快捷的方式: -## 后端 +## 使用Docker快速搭建依赖环境 -### 使用Docker快速搭建依赖环境 - -mongodb +**mongodb** ```bash docker run -d --name mongo -p 27017:27017 mongo:4 ``` -redis +**redis** ```bash docker run -d --name redis -p 6379:6379 redis ``` -minio +**minio** ```bash docker run -d \ -p 19000:9000 \ @@ -33,22 +31,8 @@ docker run -d \ ### 启动开发服务器 ```bash -cp .env.example .env -vim .env -``` - -编辑`.env`的配置为自己相关的上下文 - -```bash -pnpm install # 安装环境变量 -pnpm dev # 启动开发服务器 +pnpm install +pnpm dev ``` -## 前端 - -```bash -cd web -pnpm install # 安装依赖 -pnpm plugins:all # 编译插件 -pnpm dev # 进入开发模式 -``` +可以编辑`.env`的配置为自己相关的上下文 diff --git a/website/docs/deployment/docker-compose-old.md b/website/docs/deployment/docker-compose-old.md new file mode 100644 index 00000000..50e0f42b --- /dev/null +++ b/website/docs/deployment/docker-compose-old.md @@ -0,0 +1,90 @@ +--- +sidebar_position: 104 +title: Docker Compose 部署服务端(Deprecated) +--- + +:::caution 弃用警告 +该文档已弃用。建议访问最新版的部署文档以获得最新的支持, [点击此处跳转](./docker-compose.md) + +我们保留本篇文档是为了希望安装 `1.x` 版本之前的用户准备的 +::: + +## 安装环境 + +### Docker / Docker Compose + +首先需要确保有 `Docker / Docker Compose` 环境 + +安装方式如下: + +- [Docker](https://docs.docker.com/engine/install/) +- [Docker Compose](https://docs.docker.com/compose/install/) + +### node 环境 + +- 从[官网下载](https://nodejs.org/en/download/) +- 或者使用[nvm](https://github.com/nvm-sh/nvm) + +#### 安装pnpm + +`pnpm` 是一个`nodejs`的包管理工具, 是`npm`的替代品, 为了确保能有与开发者一样依赖环境,强烈建议你使用pnpm作为后续的包管理工具 + +```bash +npm install -g pnpm +``` + +## Clone 项目 + +将项目从远程下载到本地: + +```bash +mkdir msgbyte && cd msgbyte + +git clone https://github.com/msgbyte/tailchat.git # clone 客户端 +git clone https://github.com/msgbyte/tailchat-server.git # clone 服务端 +``` + +## 编译项目 + +#### 前端项目 + +```bash +cd tailchat/web +pnpm install # 安装依赖 + +export SERVICE_URL=http://127.0.0.1:11000 # 配置服务端地址,这里的127.0.0.1 可以替换为任何网页可以访问到的服务端地址 +pnpm build # 构建项目 +``` + +构建完毕后会生成一个`tailchat/web/dist`目录,将该目录托管到任意网页托管服务器即可(如使用`http-server`进行静态代理或者直接上传到`oss`) + +> NOTICE: 因为webpack编译需要比较大的内存资源占用,在服务器资源不足的场合建议使用本地编译完毕以后上传到服务端 + +#### 使用docker-compose构建服务端 + +> 在启动前需要检查代码环境变量 + +修改 `docker-compose.env` 文件的配置,以下内容推荐修改: +- `API_URL` 对外可访问的url地址,用于文件服务访问 +- `SECRET` 服务端加密秘钥,用于生成Token. 默认为 `tailchat` + + +```bash +cd tailchat-server +docker-compose build +docker-compose up -d +``` + +*在`docker-compose.env`文件中提供了部分环境变量可供配置。* + +`tailchat` 的`docker-compose.yml`配置默认提供了如下配置: + +- `mongodb`: 持久化数据库 +- `redis`: KV数据库与消息中转服务 +- `minio`: 分布式文件服务 + +其中持久化文件(数据库, 文件存储)通过 `docker volume` 统一管理: + +``` +docker volume ls | grep "tailchat-server" +``` diff --git a/website/docs/deployment/docker-compose.md b/website/docs/deployment/docker-compose.md index c9b1c3c9..e12788bb 100644 --- a/website/docs/deployment/docker-compose.md +++ b/website/docs/deployment/docker-compose.md @@ -1,20 +1,30 @@ --- sidebar_position: 4 -title: Docker Compose 部署服务端 +title: Docker Compose 部署 --- -## 安装环境 +## 前置环境 ### Docker / Docker Compose 首先需要确保有 `Docker / Docker Compose` 环境 -安装方式如下: +安装方式可参考 : [安装 Docker 环境](./install-docker.md) -- [Docker](https://docs.docker.com/engine/install/) -- [Docker Compose](https://docs.docker.com/compose/install/) +## 拉取镜像 -### node 环境 +你可以通过从[公共镜像拉取已经编译好的镜像](#从公共镜像中拉取)或者[通过源码手动编译](#从源码中编译) + +### 从公共镜像中拉取 + +```bash +docker pull moonrailgun/tailchat +docker tag moonrailgun/tailchat tailchat # 修改tag以让配置文件能够识别 +``` + +### 从源码中编译 + +#### 编译环境 node 环境 - 从[官网下载](https://nodejs.org/en/download/) - 或者使用[nvm](https://github.com/nvm-sh/nvm) @@ -27,48 +37,51 @@ title: Docker Compose 部署服务端 npm install -g pnpm ``` -## Clone 项目 +#### Clone 项目 将项目从远程下载到本地: ```bash mkdir msgbyte && cd msgbyte -git clone https://github.com/msgbyte/tailchat.git # clone 客户端 -git clone https://github.com/msgbyte/tailchat-server.git # clone 服务端 +git clone https://github.com/msgbyte/tailchat.git # 克隆项目到本地 ``` -## 编译项目 - -#### 前端项目 +#### 编译项目 ```bash -cd tailchat/web -pnpm install # 安装依赖 - -export SERVICE_URL=http://127.0.0.1:11000 # 配置服务端地址,这里的127.0.0.1 可以替换为任何网页可以访问到的服务端地址 -pnpm build # 构建项目 +docker-compose build ``` -构建完毕后会生成一个`tailchat/web/dist`目录,将该目录托管到任意网页托管服务器即可(如使用`http-server`进行静态代理或者直接上传到`oss`) +*编译对服务器配置有一定要求,2核4G编译约10分钟,供参考* + +编译完毕后可以通过 `docker images` 查看编译完毕的镜像。 + +## 启动项目 -> NOTICE: 因为webpack编译需要比较大的内存资源占用,在服务器资源不足的场合建议使用本地编译完毕以后上传到服务端 +> 如果你是通过公共镜像拉取的应用 +> 需要手动下载配置文件与配置环境变量以一键启动: +> - [docker-compose.yml](https://raw.githubusercontent.com/msgbyte/tailchat/master/docker-compose.yml) +> - [docker-compose.env](https://raw.githubusercontent.com/msgbyte/tailchat/master/docker-compose.env) -#### 使用docker-compose构建服务端 +在启动之前需要修改一下配置 -> 在启动前需要检查代码环境变量 +修改 `docker-compose.env` 文件的配置,以下字段推荐修改: -修改 `docker-compose.env` 文件的配置,以下内容推荐修改: -- `API_URL` 对外可访问的url地址,用于文件服务访问 +- `API_URL` 对外可访问的url地址,用于文件服务访问, 可以是域名也可以是ip - `SECRET` 服务端加密秘钥,用于生成Token. 默认为 `tailchat` +完成配置后使用`docker-compose` 一键启动 `Tailchat` 应用: ```bash -cd tailchat-server -docker-compose build +cd tailchat docker-compose up -d ``` +访问: `http://:11000` 即可打开tailchat + +注意部分云服务可能需要手动开放防火墙端口。 + *在`docker-compose.env`文件中提供了部分环境变量可供配置。* `tailchat` 的`docker-compose.yml`配置默认提供了如下配置: diff --git a/website/docs/deployment/environment.md b/website/docs/deployment/environment.md index 7084a767..dc4345cc 100644 --- a/website/docs/deployment/environment.md +++ b/website/docs/deployment/environment.md @@ -3,13 +3,7 @@ sidebar_position: 7 title: 环境变量 --- -## 前端编译环境变量 - -| 变量名 | 默认值 | 描述 | -| ----- | ------ | --- | -| SERVICE_URL | http://127.0.0.1:11000 | 后端服务地址 | - -## 后端环境变量 +## 环境变量 | 变量名 | 默认值 | 描述 | | ----- | ------ | --- | @@ -26,7 +20,7 @@ title: 环境变量 | SMTP_URI | - | 邮件服务连接地址(示例: `smtp://username:password@smtp.example.com/?pool=true`) | | FILE_LIMIT | 1048576 | 文件/图片上传的大小限制,默认为1m,请输入数字 | -> 部分环境变量示例可见: https://github.com/msgbyte/tailchat-server/blob/master/.env.example +> 部分环境变量示例可见: https://github.com/msgbyte/tailchat/blob/master/server/.env.example ### 使用文件进行配置环境变量 diff --git a/website/docs/deployment/install-docker.md b/website/docs/deployment/install-docker.md index 364fb3a7..1741ab88 100644 --- a/website/docs/deployment/install-docker.md +++ b/website/docs/deployment/install-docker.md @@ -55,3 +55,12 @@ sudo chmod +x /usr/local/bin/docker-compose # 给予执行权限 sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose # 软链接到path, 可以直接调用 docker-compose --version # 该行命令返回版本号则成功安装 ``` + +## NOTICE + +因为历史原因,`docker compose` 拥有`docker`插件版本与 `docker compose` 独立版本。一般意义上可以认为 `docker compose xxx` 与 `docker-compose xxx` 是等价的 + +## 参考文档 + +- [Docker](https://docs.docker.com/engine/install/) +- [Docker Compose](https://docs.docker.com/compose/install/) diff --git a/website/docs/meeting/deployment.md b/website/docs/meeting/deployment.md index a370b510..2b2e78bc 100644 --- a/website/docs/meeting/deployment.md +++ b/website/docs/meeting/deployment.md @@ -3,9 +3,9 @@ sidebar_position: 2 title: 部署视频会议 --- -视频会议服务 `Tailchat Meeting` 可以作为一个独立应用单品存在。再本节中将会讲述如何独立部署 `Tailchat Meeting` +视频会议服务 `Tailchat Meeting` 可以作为一个独立应用单品存在。在本节中将会讲述如何独立部署 `Tailchat Meeting` -以下内容均基于docker环境,请确保服务端有 `docker` 最基本程度的环境。 +以下内容均基于`docker`环境,请确保服务端有 `docker` 最基本程度的环境。 如果还没有安装 `docker` + `docker-compose` 可以查看文档 [安装docker环境](../deployment/install-docker.md) diff --git a/website/docs/plugins/start.md b/website/docs/plugins/start.md index 09bcc21a..0a9c10e1 100644 --- a/website/docs/plugins/start.md +++ b/website/docs/plugins/start.md @@ -7,7 +7,7 @@ title: 开始开发插件 `MiniStar` 是一套完整的微内核架构开发工具链,`tailchat`的插件架构就是基于 `MiniStar` 进行开发。 -关于更多的 MiniStar 相关问题可以查看 MiniStar 的官方文档: [https://ministar.moonrailgun.com/](https://ministar.moonrailgun.com/) +关于更多的 `MiniStar` 相关问题可以查看 `MiniStar` 的官方文档: [https://ministar.moonrailgun.com/](https://ministar.moonrailgun.com/) ## 创建一个基础项目 @@ -34,9 +34,9 @@ npm install --global mini-star 在不经过任何预设的情况下,一个通用的办法是自己构造一个 `manifest` 配置, 然后在 `tailchat` 提供手动安装插件 Tab 中将配置文件粘贴进去安装。 -插件的url路径可以通过 `oss`/`static-server` 等办法代理 +插件的url路径可以通过 `oss对象存储服务` / `static-server` 等办法代理 -一个作为示例的`manifest`配置如下: +一个作为示例的`manifest.json`配置如下: ```json { @@ -52,7 +52,8 @@ npm install --global mini-star ## 其他有用的资源 +- 插件化架构内核依赖库 [MiniStar](https://ministar.moonrailgun.com/) - 来自基础项目提供的API: [API 文档](./api/common) - 导出接口源码 - - [@capital/common](https://github.com/msgbyte/tailchat/blob/master/web/src/plugin/common/index.ts) - - [@capital/component](https://github.com/msgbyte/tailchat/blob/master/web/src/plugin/component/index.tsx) + - [@capital/common](https://github.com/msgbyte/tailchat/blob/master/client/web/src/plugin/common/index.ts) + - [@capital/component](https://github.com/msgbyte/tailchat/blob/master/client/web/src/plugin/component/index.tsx)