## Linux/Ubuntu 一键启动
start.sh 脚本用于服务器一键安装启动EasyAI应用

### 首次安装部署步骤，并使用服务器公网IP进行访问
1. 克隆脚本和相关文件到服务器
```bash
git clone https://git.51easyai.com/wangbo/easyai.git
# 进入easyai目录
cd easyai
```

2. 修改env中环境变量，将下面两个环境变量修改为你的服务器的公网ip，本地局域网方式使用局域网IP
```bash
NUXT_PUBLIC_BASE_APIURL=http://<你的服务器公网IP或者局域网地址>:3001
NUXT_PUBLIC_BASE_SOCKETURL=ws://<你的服务器公网IP或者局域网地址>:3002
```
3. 开放服务器的3000、3001、3002和3010端口
4. [首次执行，后续无需重复执行]添加脚本的执行权限，命令：
```bash
chmod +x start.sh
```
5. 执行start.sh脚本，即可自动安装依赖和启动EasyAI应用
```bash
./start.sh
```
6. 脚本运行完成无错误，并且提示`EasyAI应用启动成功`表示应用启动成功，打开浏览器输入服务器的公网ip：3010或者局域网IP：3010，即可访问EasyAI应用

### 启用HTTPS
1. [更改为你的域名]修改easyai-proxy.conf中域名51easyai.com为你的域名
2. [修改.env文件]修改如下两个环境变量为如下的对应的值
```bash
NUXT_PUBLIC_BASE_APIURL=/api
NUXT_PUBLIC_BASE_SOCKETURL=wss://<你的域名>/socket.io
```
3. [首次执行，后续无需重复执行]添加执行权限，命令：
```bash
chmod +x https.sh
```
4. 启用HTTPS
```bash
./https.sh
```

### 更新升级
1. [首次执行，后续无需重复执行]添加执行权限，命令：
```bash
chmod +x update.sh
```
2.执行更新
```bash
./update.sh
```



## 重要更新记录：

2025.5.14
1. 修改easyai-proxy文件，删除原来旧的MCP转发，新增新的标准SSE的代理优化


2025.3.11
1. 增加了redis的配置文件，提升了生产环境的稳定性


1. 升级了mongoDB的数据挂载方式，使用volume挂载，避免跨平台的一些数据挂载问题
2. .env增加了版本，日志和token参数的配置



###  重要!!!!!!!!老用户必看！！！！！！！！！！！！！！
此版本docker-compose修改了mongo数据库的挂载方式，老用户升级务必备份数据！！！
老用户备份好数据后，如果要保留原有数据，需要将volumes里第一行的# 去掉，将下面的一行(- mongo_data:/data/db )前面加上#注释掉！

```bash
  mongo:
    image: registry.cn-shanghai.aliyuncs.com/comfy-ai/mongo-aliyun:latest
    #省略内容
........
    volumes:
#      - /usr/local/mongo/data:/data/db     # 挂载本地数据
      - mongo_data:/data/db  # 使用docker volume存储数据，提高性能，避免兼容性问题
........
```

## 常见问题
1. 启动时提示`Error: listen EADDRINUSE: address already in use :::3000`
端口占用，请检查端口3000是否被其他程序占用
2. invalid interpolation format for services.mongo.ports.[]. You may need to escape any $ with another $ 等关于docker-compose文件格式的报错
解决方案：docker-compose 版本太低，一般为服务器之前自己使用apt安装低版本的docker-compose，需要卸载重新安装
```bash
# 卸载docker-compose
apt remove docker-compose
#重新安装
./start.sh
```