# core/services.yaml # 声明式服务启动配置 # # 字段说明: # name 服务唯一标识(用于日志和未来注册中心) # cmd 启动命令 # args 传递给 _run.sh 的命令行参数列表(可选) # env 启动前设置的环境变量(可选) # depends_on 依赖的服务名列表(未来 DAG 拓扑排序用,当前仅记录) # sleep_before 启动前等待秒数(替代散落在 _run.sh 中的 sleep) services: # --- 数据层(最先启动) --- - name: db2 cmd: bash /opt/micro_servers/db2/_run.sh args: - "--instance" - "db2" - "--log-level" - "info" # --- 配置全部经 CLI 传递(原 confs/configs/db.ini 迁入) --- - "--host" - "127.0.0.1" - "--port" - "8005" - "--workers" - "4" - "--db-url" - "sqlite:///database.db" - "--retention-days" - "30" - "--max-records" - "1000000" - "--cleanup-interval" - "3600" depends_on: [] sleep_before: 0 # --- 内存缓存 --- - name: memdb cmd: bash /opt/micro_servers/memdb/_run.sh args: - "--instance" - "memdb" - "--log-level" - "info" - "--host" - "127.0.0.1" - "--port" - "8011" - "--workers" - "4" - "--max-time" - "600" depends_on: [] sleep_before: 0 # --- AI 审核 --- - name: ai_review cmd: bash /opt/micro_servers/ai_review/_run.sh args: ["--instance", "ai_review", "--log-level", "info"] depends_on: [db2] sleep_before: 0 # --- 文件服务 --- - name: dnfs2 cmd: bash /opt/micro_servers/dnfs2/_run.sh args: - "--instance" - "dnfs2" - "--log-level" - "info" - "--host" - "127.0.0.1" - "--port" - "8006" - "--db-host" - "127.0.0.1" - "--db-port" - "8005" - "--db-timeout" - "10" - "--review-url" - "http://127.0.0.1:8007/review" - "--review-timeout" - "10" - "--gateway-url" - "http://127.0.0.1:8443/whoami" - "--gateway-timeout" - "5" depends_on: [db2, ai_review] sleep_before: 0 # --- 邮件服务 --- # smtp3 已修复 .env 加载 + TLS SNI,待生产验证后切换 - name: smtp cmd: bash /opt/micro_servers/smtp/_run.sh args: ["--instance", "smtp", "--log-level", "info"] depends_on: [] sleep_before: 0 # --- 前端静态资源 --- - name: fsys cmd: bash /opt/micro_servers/fsys/_run.sh args: - "--instance" - "fsys" - "--log-level" - "info" # --- 配置全部经 CLI 传递(原 confs/configs/static.ini 迁入) --- - "--addr" - "127.0.0.1" - "--port" - "9200" - "--threads" - "4" - "--root" - "./public" - "--ssl-enabled" - "false" - "--cert-file" - "cert.pem" - "--key-file" - "key.pem" - "--cors-origins" - "https://qsont.me,https://yhdet.top" - "--db-host" - "127.0.0.1" - "--db-port" - "8005" - "--dnfs-url" - "http://127.0.0.1:8006" depends_on: [] sleep_before: 0 # --- 安全链路 --- - name: waf cmd: bash /opt/micro_servers/waf/_run.sh args: ["--instance", "waf", "--log-level", "info"] depends_on: [ca, gateway] sleep_before: 0 - name: ca cmd: bash /opt/micro_servers/ca/_run.sh args: - "--instance" - "ca" - "--log-level" - "info" # --- v1.1.0:配置全部经 CLI 传递(原 confs/configs/ca.ini 迁入) --- - "--host" - "127.0.0.1" - "--port" - "8443" - "--upstream-gateway" - "http://127.0.0.1:8445" - "--token-keep-time" - "3600" - "--token-refresh-grace-multiplier" - "2" - "--token-max-refresh" - "10" # 管理员白名单(分号分隔):登录命中时 Token 写入 is_admin=true - "--admin-users" - "1776177662@qq.com" - "--cors-origins" - "https://qsont.me;https://www.qsont.me;http://127.0.0.1:8443;http://localhost:8443" - "--ws-proxy-routes" - "/ws/aibox=ws://127.0.0.1:8765" - "--db-host" - "127.0.0.1" - "--db-port" - "8005" - "--captcha-host" - "127.0.0.1" - "--captcha-port" - "8009" - "--smtp-host" - "127.0.0.1" - "--smtp-port" - "8008" depends_on: [db2] sleep_before: 0 - name: gateway cmd: bash /opt/micro_servers/gateway/_run.sh args: ["--instance", "gateway", "--log-level", "info"] depends_on: [db2] sleep_before: 0 # --- 验证码 --- - name: captcha2 cmd: bash /opt/micro_servers/captcha2/_run.sh args: - "--instance" - "captcha2" - "--log-level" - "info" # --- 配置全部经 CLI 传递(原 confs/configs/captcha.ini 迁入) --- - "--addr" - "127.0.0.1" - "--port" - "8009" - "--workers" - "4" - "--len" - "4" - "--ttl" - "300" - "--font-path" - "/usr/share/fonts/truetype/dejavu/DejaVuSans-Bold.ttf" - "--max-store" - "10000" - "--rate-limit" - "600" depends_on: [] sleep_before: 0 # --- AI 工具箱 --- - name: aibox cmd: bash /opt/micro_servers/aibox/_run.sh args: [] depends_on: [] sleep_before: 0 # --- 端口重定向(最后启动)--- # redirect80 与系统 casaos-gateway 抢占 80 端口导致绑定失败,暂时停用 # - name: redirect80 # cmd: bash /opt/micro_servers/redirect80/_run.sh # args: # - "--instance" # - "redirect80" # - "--log-level" # - "info" # # --- 配置全部经 CLI 传递(原 confs/configs/redirect80.ini 迁入) --- # - "--host" # - "0.0.0.0" # - "--port" # - "80" # - "--redirect-port" # - "443" # - "--redirect-code" # - "301" # depends_on: [waf] # sleep_before: 0