feat: 修改项目介绍
20
README.md
@@ -55,9 +55,10 @@
|
|||||||
```bash
|
```bash
|
||||||
./deploy-cn.sh
|
./deploy-cn.sh
|
||||||
```
|
```
|
||||||

|
按照脚本提示一步步操作,如果是一台新服务器,选择默认配置,直接回车即可。
|
||||||

|
<img src="image/deploy-01.png" alt="drawing" style="width: 600px; height: 300px; border: 2px solid #ddd; border-radius: 8px; box-shadow: 0 4px 8px rgba(0,0,0,0.1);"/>
|
||||||

|
|
||||||
|
耐心等待安装完成...
|
||||||
|
|
||||||
英文界面部署脚本:
|
英文界面部署脚本:
|
||||||
|
|
||||||
@@ -316,16 +317,19 @@
|
|||||||
|
|
||||||
### 附:技术讨论群
|
### 附:技术讨论群
|
||||||
|
|
||||||
|
#### 技术交流
|
||||||
|
<div style="display: flex; flex-wrap: wrap; gap: 20px; justify-content: center;">
|
||||||
|
<img src="image/wx.png" alt="drawing" style="width: 400px; height: 400px; border: 2px solid #ddd; border-radius: 8px; box-shadow: 0 4px 8px rgba(0,0,0,0.1);"/>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
#### 进群学习
|
#### 进群学习
|
||||||
🏠 wx:ruoyi-ai(加人备注:ruoyi-ai)
|
🏠 wx:ruoyi-ai(加人备注:ruoyi-ai)
|
||||||
|
|
||||||
<img src="image/小助手wx.png" alt="drawing" style="width: 400px; height: 400px; border: 2px solid #ddd; border-radius: 8px; box-shadow: 0 4px 8px rgba(0,0,0,0.1);"/>
|
|
||||||
|
|
||||||
🏠 qq:1603234088 (加人备注:ruoyi-ai)
|
🏠 qq:1603234088 (加人备注:ruoyi-ai)
|
||||||
|
|
||||||
👏👏👏 ruoyi-ai官方交流2群(qq区):1034554687
|
👏👏👏 ruoyi-ai官方交流群(qq区)
|
||||||
|
|
||||||
<div style="display: flex; flex-wrap: wrap; gap: 20px; justify-content: center;">
|
<div style="display: flex; flex-wrap: wrap; gap: 20px; justify-content: center;">
|
||||||
<img src="image/QQ区-官方交流2群.png" alt="drawing" style="width: 400px; height: 400px; border: 2px solid #ddd; border-radius: 8px; box-shadow: 0 4px 8px rgba(0,0,0,0.1);"/>
|
<img src="image/qq.png" alt="drawing" style="width: 400px; height: 400px; border: 2px solid #ddd; border-radius: 8px; box-shadow: 0 4px 8px rgba(0,0,0,0.1);"/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|||||||
@@ -23,7 +23,7 @@ DEPLOY_DIR="${user_input:-${PWD}/ruoyi-ai-deploy}"
|
|||||||
if [ -d "$DEPLOY_DIR" ]; then
|
if [ -d "$DEPLOY_DIR" ]; then
|
||||||
echo "警告:目录 $DEPLOY_DIR 已存在!"
|
echo "警告:目录 $DEPLOY_DIR 已存在!"
|
||||||
read -p "您想删除它吗?[y/N]: " delete_choice
|
read -p "您想删除它吗?[y/N]: " delete_choice
|
||||||
|
|
||||||
case "${delete_choice:-N}" in
|
case "${delete_choice:-N}" in
|
||||||
[Yy]* )
|
[Yy]* )
|
||||||
echo "正在删除现有目录..."
|
echo "正在删除现有目录..."
|
||||||
@@ -235,8 +235,8 @@ if [[ "${BUILD_CHOICE}" == [Bb]* ]]; then
|
|||||||
echo "正在删除现有目录..."
|
echo "正在删除现有目录..."
|
||||||
rm -rf ${DEPLOY_DIR}/ruoyi-ai
|
rm -rf ${DEPLOY_DIR}/ruoyi-ai
|
||||||
echo "正在克隆 ruoyi-ai-backend 仓库..."
|
echo "正在克隆 ruoyi-ai-backend 仓库..."
|
||||||
cd ${DEPLOY_DIR} && git clone https://github.com/ageerle/ruoyi-ai
|
cd ${DEPLOY_DIR} && git clone https://gitee.com/ageerle/ruoyi-ai
|
||||||
|
|
||||||
# 提示选择分支
|
# 提示选择分支
|
||||||
read -p "请输入 ruoyi-ai 仓库的分支名称 [main]: " RUOYI_AI_BRANCH
|
read -p "请输入 ruoyi-ai 仓库的分支名称 [main]: " RUOYI_AI_BRANCH
|
||||||
RUOYI_AI_BRANCH="${RUOYI_AI_BRANCH:-main}"
|
RUOYI_AI_BRANCH="${RUOYI_AI_BRANCH:-main}"
|
||||||
@@ -253,8 +253,8 @@ if [[ "${BUILD_CHOICE}" == [Bb]* ]]; then
|
|||||||
esac
|
esac
|
||||||
else
|
else
|
||||||
echo "正在克隆 ruoyi-ai-backend 仓库..."
|
echo "正在克隆 ruoyi-ai-backend 仓库..."
|
||||||
cd ${DEPLOY_DIR} && git clone https://github.com/ageerle/ruoyi-ai
|
cd ${DEPLOY_DIR} && git clone https://gitee.com/ageerle/ruoyi-ai
|
||||||
|
|
||||||
# 提示选择分支
|
# 提示选择分支
|
||||||
read -p "请输入 ruoyi-ai 仓库的分支名称 [main]: " RUOYI_AI_BRANCH
|
read -p "请输入 ruoyi-ai 仓库的分支名称 [main]: " RUOYI_AI_BRANCH
|
||||||
RUOYI_AI_BRANCH="${RUOYI_AI_BRANCH:-main}"
|
RUOYI_AI_BRANCH="${RUOYI_AI_BRANCH:-main}"
|
||||||
@@ -272,8 +272,8 @@ if [[ "${BUILD_CHOICE}" == [Bb]* ]]; then
|
|||||||
echo "正在删除现有目录..."
|
echo "正在删除现有目录..."
|
||||||
rm -rf ${DEPLOY_DIR}/ruoyi-admin
|
rm -rf ${DEPLOY_DIR}/ruoyi-admin
|
||||||
echo "正在克隆 ruoyi-admin 仓库..."
|
echo "正在克隆 ruoyi-admin 仓库..."
|
||||||
cd ${DEPLOY_DIR} && git clone https://github.com/ageerle/ruoyi-admin
|
cd ${DEPLOY_DIR} && git clone https://gitee.com/ageerle/ruoyi-admin
|
||||||
|
|
||||||
# 提示选择分支
|
# 提示选择分支
|
||||||
read -p "请输入 ruoyi-admin 仓库的分支名称 [main]: " RUOYI_ADMIN_BRANCH
|
read -p "请输入 ruoyi-admin 仓库的分支名称 [main]: " RUOYI_ADMIN_BRANCH
|
||||||
RUOYI_ADMIN_BRANCH="${RUOYI_ADMIN_BRANCH:-main}"
|
RUOYI_ADMIN_BRANCH="${RUOYI_ADMIN_BRANCH:-main}"
|
||||||
@@ -290,8 +290,8 @@ if [[ "${BUILD_CHOICE}" == [Bb]* ]]; then
|
|||||||
esac
|
esac
|
||||||
else
|
else
|
||||||
echo "正在克隆 ruoyi-ai-admin 仓库..."
|
echo "正在克隆 ruoyi-ai-admin 仓库..."
|
||||||
cd ${DEPLOY_DIR} && git clone https://github.com/ageerle/ruoyi-admin
|
cd ${DEPLOY_DIR} && git clone https://gitee.com/ageerle/ruoyi-admin
|
||||||
|
|
||||||
# 提示选择分支
|
# 提示选择分支
|
||||||
read -p "请输入 ruoyi-admin 仓库的分支名称 [main]: " RUOYI_ADMIN_BRANCH
|
read -p "请输入 ruoyi-admin 仓库的分支名称 [main]: " RUOYI_ADMIN_BRANCH
|
||||||
RUOYI_ADMIN_BRANCH="${RUOYI_ADMIN_BRANCH:-main}"
|
RUOYI_ADMIN_BRANCH="${RUOYI_ADMIN_BRANCH:-main}"
|
||||||
@@ -309,8 +309,8 @@ if [[ "${BUILD_CHOICE}" == [Bb]* ]]; then
|
|||||||
echo "正在删除现有目录..."
|
echo "正在删除现有目录..."
|
||||||
rm -rf ${DEPLOY_DIR}/ruoyi-web
|
rm -rf ${DEPLOY_DIR}/ruoyi-web
|
||||||
echo "正在克隆 ruoyi-ai-web 仓库..."
|
echo "正在克隆 ruoyi-ai-web 仓库..."
|
||||||
cd ${DEPLOY_DIR} && git clone https://github.com/ageerle/ruoyi-web
|
cd ${DEPLOY_DIR} && git clone https://gitee.com/ageerle/ruoyi-web
|
||||||
|
|
||||||
# 提示选择分支
|
# 提示选择分支
|
||||||
read -p "请输入 ruoyi-web 仓库的分支名称 [main]: " RUOYI_WEB_BRANCH
|
read -p "请输入 ruoyi-web 仓库的分支名称 [main]: " RUOYI_WEB_BRANCH
|
||||||
RUOYI_WEB_BRANCH="${RUOYI_WEB_BRANCH:-main}"
|
RUOYI_WEB_BRANCH="${RUOYI_WEB_BRANCH:-main}"
|
||||||
@@ -327,8 +327,8 @@ if [[ "${BUILD_CHOICE}" == [Bb]* ]]; then
|
|||||||
esac
|
esac
|
||||||
else
|
else
|
||||||
echo "正在克隆 ruoyi-ai-web 仓库..."
|
echo "正在克隆 ruoyi-ai-web 仓库..."
|
||||||
cd ${DEPLOY_DIR} && git clone https://github.com/ageerle/ruoyi-web
|
cd ${DEPLOY_DIR} && git clone https://gitee.com/ageerle/ruoyi-web
|
||||||
|
|
||||||
# 提示选择分支
|
# 提示选择分支
|
||||||
read -p "请输入 ruoyi-web 仓库的分支名称 [main]: " RUOYI_WEB_BRANCH
|
read -p "请输入 ruoyi-web 仓库的分支名称 [main]: " RUOYI_WEB_BRANCH
|
||||||
RUOYI_WEB_BRANCH="${RUOYI_WEB_BRANCH:-main}"
|
RUOYI_WEB_BRANCH="${RUOYI_WEB_BRANCH:-main}"
|
||||||
@@ -359,7 +359,7 @@ if [[ "${BUILD_CHOICE}" == [Bb]* ]]; then
|
|||||||
# 更新 vite.config.mts 文件
|
# 更新 vite.config.mts 文件
|
||||||
echo "正在使用您的配置更新 vite.config.mts 文件..."
|
echo "正在使用您的配置更新 vite.config.mts 文件..."
|
||||||
sed -i "s|http://127.0.0.1:6039|${FRONTEND_API_BASE_URL}|g" ${DEPLOY_DIR}/ruoyi-admin/apps/web-antd/vite.config.mts
|
sed -i "s|http://127.0.0.1:6039|${FRONTEND_API_BASE_URL}|g" ${DEPLOY_DIR}/ruoyi-admin/apps/web-antd/vite.config.mts
|
||||||
|
|
||||||
# 更新 docker-compose.yaml 文件中的镜像标签
|
# 更新 docker-compose.yaml 文件中的镜像标签
|
||||||
echo "正在更新 docker-compose.yaml 文件中的镜像标签..."
|
echo "正在更新 docker-compose.yaml 文件中的镜像标签..."
|
||||||
sed -i "s|ruoyi-ai-backend:latest|ruoyi-ai-backend:${RUOYI_AI_BRANCH}|g" ${DEPLOY_DIR}/docker-compose.yaml
|
sed -i "s|ruoyi-ai-backend:latest|ruoyi-ai-backend:${RUOYI_AI_BRANCH}|g" ${DEPLOY_DIR}/docker-compose.yaml
|
||||||
@@ -469,17 +469,17 @@ EOF
|
|||||||
cd ..
|
cd ..
|
||||||
else
|
else
|
||||||
echo "跳过镜像构建过程。正在使用现有镜像直接部署..."
|
echo "跳过镜像构建过程。正在使用现有镜像直接部署..."
|
||||||
|
|
||||||
# 提示输入分支名称用于镜像标签
|
# 提示输入分支名称用于镜像标签
|
||||||
read -p "请输入 ruoyi-ai-backend 镜像的标签 [main]: " RUOYI_AI_BRANCH
|
read -p "请输入 ruoyi-ai-backend 镜像的标签 [main]: " RUOYI_AI_BRANCH
|
||||||
RUOYI_AI_BRANCH="${RUOYI_AI_BRANCH:-main}"
|
RUOYI_AI_BRANCH="${RUOYI_AI_BRANCH:-main}"
|
||||||
|
|
||||||
read -p "请输入 ruoyi-ai-admin 镜像的标签 [main]: " RUOYI_ADMIN_BRANCH
|
read -p "请输入 ruoyi-ai-admin 镜像的标签 [main]: " RUOYI_ADMIN_BRANCH
|
||||||
RUOYI_ADMIN_BRANCH="${RUOYI_ADMIN_BRANCH:-main}"
|
RUOYI_ADMIN_BRANCH="${RUOYI_ADMIN_BRANCH:-main}"
|
||||||
|
|
||||||
read -p "请输入 ruoyi-ai-web 镜像的标签 [main]: " RUOYI_WEB_BRANCH
|
read -p "请输入 ruoyi-ai-web 镜像的标签 [main]: " RUOYI_WEB_BRANCH
|
||||||
RUOYI_WEB_BRANCH="${RUOYI_WEB_BRANCH:-main}"
|
RUOYI_WEB_BRANCH="${RUOYI_WEB_BRANCH:-main}"
|
||||||
|
|
||||||
# 更新 docker-compose.yaml 文件中的镜像标签
|
# 更新 docker-compose.yaml 文件中的镜像标签
|
||||||
echo "正在更新 docker-compose.yaml 文件中的镜像标签..."
|
echo "正在更新 docker-compose.yaml 文件中的镜像标签..."
|
||||||
sed -i "s|ruoyi-ai-backend:latest|ruoyi-ai-backend:${RUOYI_AI_BRANCH}|g" ${DEPLOY_DIR}/docker-compose.yaml
|
sed -i "s|ruoyi-ai-backend:latest|ruoyi-ai-backend:${RUOYI_AI_BRANCH}|g" ${DEPLOY_DIR}/docker-compose.yaml
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 214 KiB |
|
Before Width: | Height: | Size: 129 KiB |
|
Before Width: | Height: | Size: 310 KiB |
BIN
image/deploy-01.png
Normal file
|
After Width: | Height: | Size: 108 KiB |
BIN
image/qq.png
Normal file
|
After Width: | Height: | Size: 392 KiB |
BIN
image/wx-msg.png
|
Before Width: | Height: | Size: 104 KiB |
|
Before Width: | Height: | Size: 148 KiB |
BIN
image/wx.png
Normal file
|
After Width: | Height: | Size: 144 KiB |
BIN
image/小助手wx.png
|
Before Width: | Height: | Size: 302 KiB |
105
script/docker/ruoyiai/docker-compose.yaml
Normal file
@@ -0,0 +1,105 @@
|
|||||||
|
version: '3'
|
||||||
|
|
||||||
|
services:
|
||||||
|
mysql:
|
||||||
|
image: registry.cn-shenzhen.aliyuncs.com/breeze-project/mysql:8.0.33
|
||||||
|
container_name: ruoyi-ai-mysql
|
||||||
|
env_file:
|
||||||
|
- ./.env
|
||||||
|
environment:
|
||||||
|
- MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD}
|
||||||
|
- MYSQL_DATABASE=${MYSQL_DATABASE}
|
||||||
|
#ports:
|
||||||
|
# - "${MYSQL_PORT}:3306"
|
||||||
|
volumes:
|
||||||
|
- ./mysql-init:/docker-entrypoint-initdb.d
|
||||||
|
- ./data/mysql:/var/lib/mysql
|
||||||
|
command:
|
||||||
|
--default-authentication-plugin=mysql_native_password
|
||||||
|
--character-set-server=utf8mb4
|
||||||
|
--collation-server=utf8mb4_general_ci
|
||||||
|
--explicit_defaults_for_timestamp=true
|
||||||
|
--lower_case_table_names=1
|
||||||
|
restart: always
|
||||||
|
networks:
|
||||||
|
- ruoyi-net
|
||||||
|
|
||||||
|
redis:
|
||||||
|
image: registry.cn-shenzhen.aliyuncs.com/breeze-project/redis:6.2
|
||||||
|
container_name: ruoyi-ai-redis
|
||||||
|
env_file:
|
||||||
|
- ./.env
|
||||||
|
#ports:
|
||||||
|
# - "${REDIS_PORT}:6379"
|
||||||
|
volumes:
|
||||||
|
- ./data/redis:/data
|
||||||
|
command: redis-server --appendonly yes ${REDIS_PASSWORD:+--requirepass ${REDIS_PASSWORD}}
|
||||||
|
restart: always
|
||||||
|
networks:
|
||||||
|
- ruoyi-net
|
||||||
|
|
||||||
|
weaviate:
|
||||||
|
image: registry.cn-shenzhen.aliyuncs.com/breeze-project/weaviate:1.30.0
|
||||||
|
container_name: ruoyi-ai-weaviate
|
||||||
|
env_file:
|
||||||
|
- ./.env
|
||||||
|
environment:
|
||||||
|
- QUERY_DEFAULTS_LIMIT=${WEAVIATE_QUERY_LIMIT}
|
||||||
|
- AUTHENTICATION_ANONYMOUS_ACCESS_ENABLED=${WEAVIATE_ANONYMOUS_ACCESS}
|
||||||
|
- PERSISTENCE_DATA_PATH=${WEAVIATE_DATA_PATH}
|
||||||
|
- DEFAULT_VECTORIZER_MODULE=${WEAVIATE_VECTORIZER_MODULE}
|
||||||
|
- ENABLE_MODULES=${WEAVIATE_MODULES}
|
||||||
|
- CLUSTER_HOSTNAME=${WEAVIATE_CLUSTER_HOSTNAME}
|
||||||
|
command: --host 0.0.0.0 --port 8080 --scheme http
|
||||||
|
ports:
|
||||||
|
- "50050:8080"
|
||||||
|
- "50051:50051"
|
||||||
|
volumes:
|
||||||
|
- ./data/weaviate:/var/lib/weaviate
|
||||||
|
restart: always
|
||||||
|
networks:
|
||||||
|
- ruoyi-net
|
||||||
|
|
||||||
|
ruoyi-backend:
|
||||||
|
image: registry.cn-shenzhen.aliyuncs.com/breeze-project/ruoyi-ai-backend:v2.0.5
|
||||||
|
container_name: ruoyi-ai-backend
|
||||||
|
env_file:
|
||||||
|
- ./.env
|
||||||
|
ports:
|
||||||
|
- "${BACKEND_SERVER_PORT}:${BACKEND_SERVER_PORT}"
|
||||||
|
volumes:
|
||||||
|
- ./data/logs:/ruoyi/server/logs
|
||||||
|
restart: always
|
||||||
|
depends_on:
|
||||||
|
- mysql
|
||||||
|
- redis
|
||||||
|
networks:
|
||||||
|
- ruoyi-net
|
||||||
|
|
||||||
|
ruoyi-admin:
|
||||||
|
image: registry.cn-shenzhen.aliyuncs.com/breeze-project/ruoyi-ai-admin:v2.0.5
|
||||||
|
container_name: ruoyi-ai-admin
|
||||||
|
ports:
|
||||||
|
#- "8082:80"
|
||||||
|
- "${ADMIN_SERVER_PORT}:80"
|
||||||
|
restart: always
|
||||||
|
depends_on:
|
||||||
|
- ruoyi-backend
|
||||||
|
networks:
|
||||||
|
- ruoyi-net
|
||||||
|
|
||||||
|
ruoyi-web:
|
||||||
|
image: registry.cn-shenzhen.aliyuncs.com/breeze-project/ruoyi-ai-web:v2.0.5
|
||||||
|
container_name: ruoyi-ai-web
|
||||||
|
ports:
|
||||||
|
#- "8081:80"
|
||||||
|
- "${WEB_SERVER_PORT}:80"
|
||||||
|
restart: always
|
||||||
|
depends_on:
|
||||||
|
- ruoyi-backend
|
||||||
|
networks:
|
||||||
|
- ruoyi-net
|
||||||
|
|
||||||
|
networks:
|
||||||
|
ruoyi-net:
|
||||||
|
driver: bridge
|
||||||