git clone https://github.com/TiaraBasori/opencode2api.git
cd opencode2apicp .env.example .env
# 编辑 .env 文件,设置你的配置docker compose up -d# 健康检查
curl http://127.0.0.1:10000/health
# 获取模型列表
curl -H "Authorization: Bearer $API_KEY" http://127.0.0.1:10000/v1/models# 必需配置
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/projectdocker 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)。