feat: 修改项目介绍
20
README.md
@@ -55,9 +55,10 @@
|
||||
```bash
|
||||
./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)
|
||||
|
||||
<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)
|
||||
|
||||
👏👏👏 ruoyi-ai官方交流2群(qq区):1034554687
|
||||
👏👏👏 ruoyi-ai官方交流群(qq区)
|
||||
|
||||
<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>
|
||||
|
||||
|
||||
@@ -23,7 +23,7 @@ DEPLOY_DIR="${user_input:-${PWD}/ruoyi-ai-deploy}"
|
||||
if [ -d "$DEPLOY_DIR" ]; then
|
||||
echo "警告:目录 $DEPLOY_DIR 已存在!"
|
||||
read -p "您想删除它吗?[y/N]: " delete_choice
|
||||
|
||||
|
||||
case "${delete_choice:-N}" in
|
||||
[Yy]* )
|
||||
echo "正在删除现有目录..."
|
||||
@@ -235,8 +235,8 @@ if [[ "${BUILD_CHOICE}" == [Bb]* ]]; then
|
||||
echo "正在删除现有目录..."
|
||||
rm -rf ${DEPLOY_DIR}/ruoyi-ai
|
||||
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
|
||||
RUOYI_AI_BRANCH="${RUOYI_AI_BRANCH:-main}"
|
||||
@@ -253,8 +253,8 @@ if [[ "${BUILD_CHOICE}" == [Bb]* ]]; then
|
||||
esac
|
||||
else
|
||||
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
|
||||
RUOYI_AI_BRANCH="${RUOYI_AI_BRANCH:-main}"
|
||||
@@ -272,8 +272,8 @@ if [[ "${BUILD_CHOICE}" == [Bb]* ]]; then
|
||||
echo "正在删除现有目录..."
|
||||
rm -rf ${DEPLOY_DIR}/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
|
||||
RUOYI_ADMIN_BRANCH="${RUOYI_ADMIN_BRANCH:-main}"
|
||||
@@ -290,8 +290,8 @@ if [[ "${BUILD_CHOICE}" == [Bb]* ]]; then
|
||||
esac
|
||||
else
|
||||
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
|
||||
RUOYI_ADMIN_BRANCH="${RUOYI_ADMIN_BRANCH:-main}"
|
||||
@@ -309,8 +309,8 @@ if [[ "${BUILD_CHOICE}" == [Bb]* ]]; then
|
||||
echo "正在删除现有目录..."
|
||||
rm -rf ${DEPLOY_DIR}/ruoyi-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
|
||||
RUOYI_WEB_BRANCH="${RUOYI_WEB_BRANCH:-main}"
|
||||
@@ -327,8 +327,8 @@ if [[ "${BUILD_CHOICE}" == [Bb]* ]]; then
|
||||
esac
|
||||
else
|
||||
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
|
||||
RUOYI_WEB_BRANCH="${RUOYI_WEB_BRANCH:-main}"
|
||||
@@ -359,7 +359,7 @@ if [[ "${BUILD_CHOICE}" == [Bb]* ]]; then
|
||||
# 更新 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
|
||||
|
||||
|
||||
# 更新 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
|
||||
@@ -469,17 +469,17 @@ EOF
|
||||
cd ..
|
||||
else
|
||||
echo "跳过镜像构建过程。正在使用现有镜像直接部署..."
|
||||
|
||||
|
||||
# 提示输入分支名称用于镜像标签
|
||||
read -p "请输入 ruoyi-ai-backend 镜像的标签 [main]: " RUOYI_AI_BRANCH
|
||||
RUOYI_AI_BRANCH="${RUOYI_AI_BRANCH:-main}"
|
||||
|
||||
|
||||
read -p "请输入 ruoyi-ai-admin 镜像的标签 [main]: " RUOYI_ADMIN_BRANCH
|
||||
RUOYI_ADMIN_BRANCH="${RUOYI_ADMIN_BRANCH:-main}"
|
||||
|
||||
|
||||
read -p "请输入 ruoyi-ai-web 镜像的标签 [main]: " RUOYI_WEB_BRANCH
|
||||
RUOYI_WEB_BRANCH="${RUOYI_WEB_BRANCH:-main}"
|
||||
|
||||
|
||||
# 更新 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
|
||||
|
||||
|
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
|
||||