## 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. 开放服务器的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`为你的域名[可以使用Ctrl+F批量替换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 ``` ### 更新升级 update.sh 脚本用于自动更新 EasyAI 应用,包含以下功能: - 自动检查和更新 `docker-compose.yml` 文件(从远程仓库获取最新版本) - 兼容 `docker compose` 和 `docker-compose` 两种命令格式 - 自动拉取最新镜像并重启服务 #### 使用步骤 1. [首次执行,后续无需重复执行]添加执行权限,命令: ```bash chmod +x update.sh ``` 2. 执行更新(默认会检查并更新 docker-compose.yml) ```bash ./update.sh ``` #### 参数选项 - **跳过 docker-compose.yml 更新**:如果你已经手动修改了 `docker-compose.yml` 文件,可以使用 `-s` 或 `--skip-compose-update` 参数跳过更新 ```bash # 跳过 docker-compose.yml 更新,仅更新容器镜像 ./update.sh -s # 或 ./update.sh --skip-compose-update ``` - **查看帮助信息**: ```bash ./update.sh -h # 或 ./update.sh --help ``` #### 更新说明 - 脚本会自动从远程仓库下载最新的 `docker-compose.yml` 文件 - 如果本地文件与远程文件不同,会将原文件备份为 `docker-compose.yml.bak` - 如果本地文件已是最新版本,则跳过更新 - 更新完成后会自动执行 `docker-compose pull` 和 `docker-compose up -d` 来重启服务 ## 重要更新记录: ### 2025.12.27 1. 修复挂载报错问题 ### 2025.12.26 1. 增加临时文件目录挂载,解决只读文件系统问题 2. 增加后端日志目录挂载,便于日志管理和查看 ### 2025.12.05 1. 更新新的视频编辑容器,支持更多视频处理功能 ### 2025.11.12 1. 删除redis内存限制配置 ### 2025.11.11 1. 增加redis内存限制配置 ### 2025.09.22 1. 更新配置文件中的密钥设置,用于平台对接 2. 优化docker环境变量配置,直接在docker中引入env file,避免每次都需要手动增加环境变量 ### 2025.09.20 1. 优化redis和MQ的云端配置 ### 2025.08.31 1. 优化nginx配置,支持插件功能 ### 2025.08.19 1. 更新部署相关文件 ### 2025.08.08 1. 优化部署方式为pm2,提升应用稳定性 ### 2025.07.28 1. 增加缓存目录挂载,让nodeJS执行子进程有操作缓存的权限 ### 2025.07.12 1. 优化docker重启策略 2. 增加minio相关配置说明 ### 2025.07.05 1. 优化安装docker-compose的脚本,增加本地docker-compose的兜底方案 2. 兼容 `docker compose` 和 `docker-compose` 两种命令格式 ### 2025.07.04 1. 适配新的文件上传功能 2. 增加后端文件上传目录的挂载 3. 增加二级域名的取消域名重定向注释说明 ### 2025.06.24 1. 增加禁用文档的环境变量和配置选项 ### 2025.06.12 1. 增加CentOS系统兼容性支持 ### 2025.06.06 1. 删除MCP server的配置 ### 2025.06.04 1. 删除newAPI相关配置 ### 2025.05.26 1. 删除旧websocket MCP环境变量配置 ### 2025.05.15 1. 优化MCP消息转发Nginx配置文件 ### 2025.05.14 1. 删除原MCP旧配置,增加新的MCP配置 2. 修改easyai-proxy文件,删除原来旧的MCP转发,新增新的标准SSE的代理优化 3. 更新README文档 ### 2025.05.13 1. 增加docker-compose文件 ### 2025.03.11 1. 增加了redis的配置文件,提升了生产环境的稳定性 ### 早期版本 1. 升级了mongoDB的数据挂载方式,使用volume挂载,避免跨平台的一些数据挂载问题 2. .env增加了版本、日志和token参数的配置 ## 常见问题 1. 某个服务无法运行 解决方案:重启docker(可以解决99%的问题) ```bash # cd easyai && docker compose down && docker compose up -d #如果提示docker "compose" is not a docker command,则使用下面的命令 cd easyai && docker-compose down && docker-compose up -d ``` 2. 启动时提示`Error: listen EADDRINUSE: address already in use :::3000` 端口占用,请检查端口3000是否被其他程序占用 3. 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 ```