Skip to content

Latest commit

 

History

History
161 lines (112 loc) · 2.49 KB

File metadata and controls

161 lines (112 loc) · 2.49 KB

🐳 Docker 部署

Version


🚀 快速开始

1️⃣ 克隆项目

git clone https://github.com/TiaraBasori/opencode2api.git
cd opencode2api

2️⃣ 配置环境变量

cp .env.example .env
# 编辑 .env 文件,设置你的配置

3️⃣ 启动服务

docker compose up -d

4️⃣ 验证

# 健康检查
curl http://127.0.0.1:10000/health

# 获取模型列表
curl -H "Authorization: Bearer $API_KEY" http://127.0.0.1:10000/v1/models

⚙️ 配置说明

.env 文件

# 必需配置
API_KEY=change-me
OPENCODE_SERVER_PASSWORD=change-me-too

# 安全相关
DISABLE_TOOLS=true

# 可选配置
OPENCODE_PROXY_PROMPT_MODE=plugin-inject
OPENCODE_PROXY_OMIT_SYSTEM_PROMPT=true
OPENCODE_PROXY_AUTO_CLEANUP_CONVERSATIONS=true

📦 卷挂载

卷名 容器内路径 说明
opencode-data /home/node/.local/share/opencode OpenCode 数据目录
opencode-config /home/node/.config/opencode OpenCode 配置目录
项目目录 /home/node/project 项目源代码

🔨 自定义构建

构建镜像

docker build -t my-opencode2api .

运行单个容器

docker run -d \
  -p 10000:10000 \
  -p 10001:10001 \
  -e API_KEY=your-key \
  -e OPENCODE_SERVER_PASSWORD=your-password \
  -v opencode-data:/home/node/.local/share/opencode \
  -v opencode-config:/home/node/.config/opencode \
  my-opencode2api

📝 生产部署建议

移除源码挂载

如果不需要在容器内修改代码,可以移除项目目录的挂载:

# docker-compose.yml
volumes:
  - opencode-data:/home/node/.local/share/opencode
  - opencode-config:/home/node/.config/opencode
  # 移除这一行
  # - .:/home/node/project

📊 日志管理

查看日志

docker compose logs -f

日志轮转

推荐使用 Docker 的日志驱动配置:

logging:
  driver: "json-file"
  options:
    max-size: "10m"
    max-file: "3"

✅ 健康检查

服务配置了健康检查:

healthcheck:
  test: ["CMD", "curl", "-f", "http://localhost:10000/health"]
  interval: 30s
  timeout: 10s
  retries: 3
  start_period: 60s

❓ 常见问题

容器无法启动

检查日志:

docker compose logs

挂载权限问题

确保 PUID/PGID 配置正确 (默认 1000:1000)。