|
|
|
@ -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://<server ip>:11000` 即可打开tailchat
|
|
|
|
|
|
|
|
|
|
注意部分云服务可能需要手动开放防火墙端口。
|
|
|
|
|
|
|
|
|
|
*在`docker-compose.env`文件中提供了部分环境变量可供配置。*
|
|
|
|
|
|
|
|
|
|
`tailchat` 的`docker-compose.yml`配置默认提供了如下配置:
|
|
|
|
|