Ctrl K
ComunidadGuías…

docker-compose.yml

Rama main · réplica de lectura del repositorio original.

Archivo original ↗Preguntar a KiBot
# DramaClaw CE — 源码构建(默认入口):api、web 用本地 checkout 构建,网关用旁边的 dramaclaw-gateway checkout 构建,三件全部本地产出。
#   git clone https://github.com/dramaclaw/dramaclaw-gateway.git ../dramaclaw-gateway
#   cp .env.example .env && docker compose up -d --build
# 运行定义(env / 端口 / 卷 / 健康检查)全部 extends 自 docker-compose.release.yml,这里增加 build、本地镜像名与源码运行时覆盖。
# 只想拉已发布镜像:docker compose -f docker-compose.release.yml up -d
# 网关源码默认取 ../dramaclaw-gateway(与本仓并排的 clone,改代码直接改那里);放在别处或想让 Docker 直接从 git 拉:
#   .env 设 DRAMACLAW_GATEWAY_SRC=<路径> 或 DRAMACLAW_GATEWAY_SRC=https://github.com/dramaclaw/dramaclaw-gateway.git#main
# 本地构建的镜像命名为 dramaclaw-local/*,不会覆盖本机缓存里的 claymorelab/* 发布镜像。
services:
  api:
    extends:
      file: docker-compose.release.yml
      service: api
    image: dramaclaw-local/api
    # Source images include the pinned Codex runtime and the reviewed Hermes fork.
    environment:
      DRAMACLAW_CHAT_BACKEND: "${DRAMACLAW_CHAT_BACKEND:-codex}"
      HERMES_CLI_PATH: /usr/local/bin/hermes
    build:
      context: .
      dockerfile: Dockerfile
      # 默认精简镜像。要 3DGS/SHARP「world」特性(torch/gsplat/sharp/da2 + SOG 工具):
      #   INSTALL_WORLD=1 docker compose up -d --build
      # 注:权重运行时下载不入镜像;slim base 为 CPU,GPU 加速需 CUDA base;Mac Docker 无 GPU。
      args:
        INSTALL_WORLD: "${INSTALL_WORLD:-0}"
        # Keep the reviewed Hermes fork available for explicit fallback.
        HERMES_REPO: "${HERMES_REPO:-https://github.com/dramaclaw/hermes-agent.git}"
        HERMES_REF: "${HERMES_REF:-brainclaw/evidence-plane}"
  newapi:
    extends:
      file: docker-compose.release.yml
      service: newapi
    image: dramaclaw-local/gateway
    build:
      context: ${DRAMACLAW_GATEWAY_SRC:-../dramaclaw-gateway}
      dockerfile: Dockerfile
  web:
    extends:
      file: docker-compose.release.yml
      service: web
    image: dramaclaw-local/web
    build:
      context: ./frontend
      dockerfile: Dockerfile

# extends 不带顶层 volumes,需在此重申(名字与 release 文件一致,数据卷共用)。
volumes:
  ce-data:
  newapi-data: