# 云超服后端服务群编排(serverrun/) # 服务:core(server-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