feat: serverdata 资源目录 + serverrun 运维编排

- serverdata/:统一承载全部资源目录(data/logs/files/keys/prompts/uploads)
- data/→serverdata/data、templates/→serverdata/prompts、uploads/→serverdata/uploads
- config.py 集中 serverdata 路径;培训子应用 db/uploads 指到 serverdata
- serverrun/:start.sh(初始化资源目录+启动 dispatcher)、Dockerfile、docker-compose(core+compute-engine+redis+mysql)
- 66 测试全绿
This commit is contained in:
2026-08-24 00:42:35 +08:00
parent a869b2934a
commit 0c0e2586ed
45 changed files with 171 additions and 16 deletions
+85
View File
@@ -0,0 +1,85 @@
# 云超服后端服务群编排(serverrun/)
# 服务:coreserver-core,统一入口)+ compute-engine(算力引擎)+ 基础设施(redis/mysql/emqx
# 对外统一生产服务 opc.pinesound.cn → core:8090
services:
core:
build:
context: ..
dockerfile: serverrun/Dockerfile
container_name: opc-core
restart: always
ports:
- "127.0.0.1:8090:8090" # 统一入口(经网关暴露,仅 loopback)
environment:
- PINEAGENTS_DEMO_DATABASE_URL=mysql+asyncmy://opc:opc_pass@mysql:3306/opc?charset=utf8mb4
- REDIS_URL=redis://:redis_pass@redis:6379/0
- TZ=Asia/Shanghai
volumes:
- ./../serverdata:/app/serverdata # 资源目录挂载
depends_on:
- redis
- mysql
networks:
- opc-network
compute-engine:
image: calciumion/new-api:latest
container_name: opc-compute-engine
restart: always
command: --log-dir /app/logs
ports:
- "127.0.0.1:3000:3000" # 仅 loopback,算力服务经内部 IP 调用
environment:
- SQLITE_PATH=/data/new-api.db
- REDIS_CONN_STRING=redis://:redis_pass@redis:6379/0
- SESSION_SECRET=${SESSION_SECRET:?请设置 SESSION_SECRET}
- TZ=Asia/Shanghai
volumes:
- compute-data:/data
- compute-logs:/app/logs
depends_on:
- redis
networks:
- opc-network
redis:
image: redis:7
container_name: opc-redis
restart: always
command: ["redis-server", "--requirepass", "redis_pass"]
networks:
- opc-network
mysql:
image: mysql:8
container_name: opc-mysql
restart: always
environment:
MYSQL_ROOT_PASSWORD: root_pass
MYSQL_DATABASE: opc
MYSQL_USER: opc
MYSQL_PASSWORD: opc_pass
volumes:
- mysql-data:/var/lib/mysql
networks:
- opc-network
# emqx(消息总线,大屏/桌面端实时)——可选,启用时打开注释
# emqx:
# image: emqx/emqx:5.8
# container_name: opc-emqx
# restart: always
# ports:
# - "127.0.0.1:1883:1883"
# networks:
# - opc-network
volumes:
compute-data:
compute-logs:
mysql-data:
networks:
opc-network:
driver: bridge