Skip to content

部署指南

单体模式部署

打包

bash
# 打包单体应用
mvn clean package -pl molandev-standalone-service -am -DskipTests -f backend/pom.xml

# 生成的 JAR: backend/molandev-standalone-service/target/molandev-standalone-service-exec.jar

运行

bash
# MySQL 模式(默认)
java -jar backend/molandev-standalone-service/target/molandev-standalone-service-exec.jar

# PostgreSQL 模式
java -jar backend/molandev-standalone-service/target/molandev-standalone-service-exec.jar --spring.profiles.active=pg

Docker 部署

bash
# 构建镜像
docker build -t molandev/molandev-standalone:latest backend/molandev-standalone-service/

# 使用 docker compose 启动(含 PostgreSQL、Redis、Caddy)
cd backend/deploy/standalone
docker compose up -d

微服务模式部署

构建 Docker 镜像

bash
# 一次构建全部模块
mvn clean package -Pmicroservice -DskipTests -f backend/pom.xml

# 构建各服务镜像
docker build -t molandev/molandev-gateway:latest backend/molandev-gateway/
docker build -t molandev/molandev-base:latest backend/molandev-base/
docker build -t molandev/molandev-knowledge:latest backend/molandev-knowledge/
docker build -t molandev/molandev-xiuxian:latest backend/molandev-xiuxian/

启动基础设施

bash
cd backend/deploy/docker
./manage.sh start-mw

需要:MySQL、Redis、Nacos、MinIO、Elasticsearch、Milvus、RabbitMQ。

导入 Nacos 配置

Nacos 使用 MySQL 存储配置,直接导入 SQL 即可,无需手动在控制台操作:

bash
mysql -u root -p123456 nacos < deploy/sql/mysql/05_molandev_nacos.sql

导入后 Nacos 中会自动出现 molandev_cloud 命名空间及各服务的配置文件。

启动微服务

bash
# 创建部署目录
mkdir -p /home/cloud-deploy
cp backend/deploy/cloud/docker-compose.yml /home/cloud-deploy/

# 配置环境变量
cat > /home/cloud-deploy/.env << 'EOF'
DASHSCOPE_API_KEY=<your-api-key>
EOF

# 启动
cd /home/cloud-deploy && docker compose up -d

服务列表

服务容器名端口mem_limit
Gatewaymolandev-gateway9090512m
Basemolandev-base19091512m
Knowledgemolandev-knowledge190921g
Xiuxianmolandev-xiuxian19093512m

JVM 内存管理

使用 MaxRAMPercentage 按 Docker mem_limit 自动分配堆,无需固定 -Xmx

dockerfile
ENTRYPOINT ["java", "-XX:InitialRAMPercentage=25.0", "-XX:MaxRAMPercentage=75.0", ...]

日志

Docker 环境关闭 console 输出(-Dlogging.pattern.console=),日志仅写文件,通过 volume 映射到宿主机 ./logs/<service>/

数据库初始化

PostgreSQL

bash
psql -U postgres -f backend/deploy/sql/postgres/01_schema.sql
psql -U postgres -d molandev_base -f backend/deploy/sql/postgres/02_molandev_base.sql
psql -U postgres -d molandev_kl -f backend/deploy/sql/postgres/03_molandev_kl.sql
psql -U postgres -d molandev_xiuxian -f backend/deploy/sql/postgres/04_molandev_xiuxian.sql

MySQL

bash
mysql -u root -p123456 < backend/deploy/sql/mysql/01_schema.sql
mysql -u root -p123456 molandev_base < backend/deploy/sql/mysql/02_molandev_base.sql
mysql -u root -p123456 molandev_kl < backend/deploy/sql/mysql/03_molandev_kl.sql
mysql -u root -p123456 molandev_xiuxian < backend/deploy/sql/mysql/04_molandev_xiuxian.sql
mysql -u root -p123456 nacos < backend/deploy/sql/mysql/05_molandev_nacos.sql
数据库用途
molandev_baseRBAC 权限、文件、消息、任务
molandev_klRAG 知识库
molandev_xiuxianAI Agent 示例
nacosNacos 配置中心数据(含 molandev_cloud 命名空间)