chore: 项目环境升级为 JDK25,Spring 4.1,项目重构为多模块

This commit is contained in:
2026-09-08 15:02:18 +08:00
parent d392436620
commit 81a0d81f11
168 changed files with 2785 additions and 1375 deletions

View File

@@ -5,8 +5,8 @@ services:
image: postgres:17-alpine
restart: unless-stopped
environment:
POSTGRES_DB: ${POSTGRES_DB:-smart_factory_agent}
POSTGRES_USER: ${POSTGRES_USER:-smart_factory}
POSTGRES_DB: smart_factory_agent
POSTGRES_USER: smart_factory
POSTGRES_PASSWORD_FILE: /run/secrets/postgres_password
secrets:
- postgres_password
@@ -15,17 +15,17 @@ services:
networks:
- manuagent-network
healthcheck:
test: ["CMD-SHELL", "pg_isready -U $${POSTGRES_USER} -d $${POSTGRES_DB}"]
test: ["CMD", "pg_isready", "-U", "smart_factory", "-d", "smart_factory_agent"]
interval: 5s
timeout: 5s
retries: 20
start_period: 10s
# 此服务负责校验并登记 AgentScope 使用的 Runtime 镜像。
# Runtime 镜像在开发机预先构建并导入服务器;此服务只校验镜像存在,不在服务器构建或拉取。
# 它成功退出后,后端会通过 Docker Socket 按 Session 动态创建真正执行任务的 Runtime 容器。
agent-runtime:
image: ${AGENT_RUNTIME_IMAGE:-agent-runtime:0.1.0}
# 此服务负责校验并登记 AgentScope 使用的沙箱镜像。
# 沙箱镜像在开发机预先构建并导入服务器;此服务只校验镜像存在,不在服务器构建或拉取。
# 它成功退出后,后端会通过 Docker Socket 按 Session 动态创建真正执行任务的沙箱容器。
sandbox:
image: agent-sandbox:0.1
pull_policy: never
command: ["/bin/true"]
restart: "no"
@@ -33,7 +33,7 @@ services:
- manuagent-network
backend:
image: ${BACKEND_IMAGE:-manuagent-backend:0.1.0}
image: manuagent-backend:0.1.0
build:
context: ./server
dockerfile: Dockerfile
@@ -43,20 +43,21 @@ services:
postgres:
condition: service_healthy
restart: true
agent-runtime:
sandbox:
condition: service_completed_successfully
environment:
SPRING_DATASOURCE_URL: jdbc:postgresql://postgres:5432/${POSTGRES_DB:-smart_factory_agent}
SPRING_DATASOURCE_USERNAME: ${POSTGRES_USER:-smart_factory}
SPRING_DATASOURCE_URL: jdbc:postgresql://postgres:5432/smart_factory_agent
SPRING_DATASOURCE_USERNAME: smart_factory
# Spring Boot 将 secrets 目录中的点分文件名作为配置属性加载,避免把密码写进普通环境变量。
SPRING_CONFIG_IMPORT: optional:configtree:/run/secrets/
APP_DATA_ROOT: ${MANUAGENT_DATA_ROOT:-/srv/manuagent/data}
APP_DATA_ROOT: /srv/manuagent/data
APP_DASHSCOPE_KEY_FILE: /run/secrets/dashscope_key
APP_ADMIN_USERNAME: ${APP_ADMIN_USERNAME:-admin}
APP_SANDBOX_IMAGE: ${AGENT_RUNTIME_IMAGE:-smart-factory-agent-runtime:0.1.0}
APP_ADMIN_USERNAME: admin
APP_SANDBOX_IMAGE: agent-sandbox:0.1
APP_SANDBOX_NETWORK: manuagent-network
APP_RUN_TIMEOUT: ${APP_RUN_TIMEOUT:-60m}
SERVER_SERVLET_SESSION_COOKIE_SECURE: ${SESSION_COOKIE_SECURE:-false}
APP_RUN_TIMEOUT: 60m
APP_MAX_CONCURRENT_RUNS: "2"
SERVER_SERVLET_SESSION_COOKIE_SECURE: "false"
secrets:
- source: postgres_password
target: spring.datasource.password
@@ -69,9 +70,9 @@ services:
volumes:
# DockerSandbox 的 bind mount 源路径由宿主机 daemon 解释,因此容器内外必须使用相同绝对路径。
- type: bind
source: ${MANUAGENT_DATA_ROOT:-/srv/manuagent/data}
target: ${MANUAGENT_DATA_ROOT:-/srv/manuagent/data}
# AgentScope 需要通过宿主机 Docker Engine 创建、执行并销毁隔离的 Runtime 容器。
source: /srv/manuagent/data
target: /srv/manuagent/data
# AgentScope 需要通过宿主机 Docker Engine 创建、执行并销毁隔离的沙箱容器。
- type: bind
source: /var/run/docker.sock
target: /var/run/docker.sock
@@ -88,7 +89,7 @@ services:
stop_grace_period: 30s
frontend:
image: ${FRONTEND_IMAGE:-manuagent-frontend:0.1.0}
image: manuagent-frontend:0.1.0
build:
context: ./web-ui
dockerfile: Dockerfile
@@ -99,8 +100,8 @@ services:
condition: service_healthy
restart: true
ports:
# 默认严格监听 0.0.0.0:5173仅当宿主机保留该端口时,才通过 FRONTEND_PORT 临时覆盖
- "0.0.0.0:${FRONTEND_PORT:-5173}:80"
# 固定监听 0.0.0.0:5173需要调整端口时直接修改此映射
- "0.0.0.0:5173:80"
networks:
- manuagent-network
healthcheck:
@@ -112,7 +113,7 @@ services:
networks:
manuagent-network:
# 固定网络名,确保后端动态创建的 Agent Runtime 容器可以加入同一个网络。
# 固定网络名,确保后端动态创建的沙箱容器可以加入同一个网络。
name: manuagent-network
driver: bridge