services:
  pi-courier:
    build:
      context: .
      # 构建期代理(可选,仅当 VPS 需要代理访问外网时)
      args:
        HTTPS_PROXY: ${HTTPS_PROXY:-}
        HTTP_PROXY: ${HTTP_PROXY:-}
    image: pi-courier:latest
    container_name: pi-courier
    restart: unless-stopped
    volumes:
      # 数据目录:配置 + 会话 + 加密存储(必须持久化)
      - ./data:/root/.pi
      # 可选:把宿主机项目目录映射到容器内 workdir
      # (这样 pi 可以在容器里直接操作宿主机上的项目文件)
      # - ./projects:/root/Projects
    environment:
      - TZ=Asia/Shanghai
      # ---- 一键配置(推荐):设置这些变量后,无需 exec setup/编辑文件 ----
      # Matrix(必须:PI_MATRIX_HOMESERVER + PI_MATRIX_ACCESS_TOKEN 同时设置)
      - PI_MATRIX_HOMESERVER=${PI_MATRIX_HOMESERVER:-}
      - PI_MATRIX_ACCESS_TOKEN=${PI_MATRIX_ACCESS_TOKEN:-}
      # 信任用户(逗号分隔 MXID,预信任可跳过验证码;不设则走验证码配对)
      - PI_MATRIX_TRUSTED_USERS=${PI_MATRIX_TRUSTED_USERS:-}
      # 加密开关(true/false,默认 true)
      - PI_MATRIX_ENCRYPTION=${PI_MATRIX_ENCRYPTION:-}
      # 工作目录(容器内路径,默认 /root/Projects)
      - PI_WORKDIR=${PI_WORKDIR:-}
      # LLM API key(auth.json 模板已引用此变量)
      - PI_LLM_API_KEY=${PI_LLM_API_KEY:-}
      # 默认 provider/模型(可选,entrypoint 写入 settings.json)
      - PI_DEFAULT_PROVIDER=${PI_DEFAULT_PROVIDER:-}
      - PI_DEFAULT_MODEL=${PI_DEFAULT_MODEL:-}
      # 日志级别(debug/info/warn/error,可选)
      - PI_LOG_LEVEL=${PI_LOG_LEVEL:-}
      # GitHub CLI token(可选,gh auth 用)
      - GH_TOKEN=${GH_TOKEN:-}
      # 运行时代理(可选,仅当 Matrix / LLM provider 需要代理访问时)
      # - https_proxy=http://<host>:<port>
      # - http_proxy=http://<host>:<port>
    logging:
      driver: json-file
      options:
        max-size: "10m"
        max-file: "3"
