这里提供三种部署方式:
compose.yml:单独运行opencode2api,上游请求直连。compose.tor.yml:同时启动 Tor,opencode2api通过tor:9050走 SOCKS5。compose.warp.yml:同时启动 Cloudflare WARP,opencode2api通过warp:1080走 SOCKS5。
默认镜像是 ghcr.io/super-mortal/opencode2api:latest。Fork 或私有构建可以用 OPENCODE2API_IMAGE 覆盖。
export OPENCODE2API_PASSWORD="change-me"
export OPENCODE2API_HTTP_PORT=52000如果使用自己的镜像:
export OPENCODE2API_IMAGE="ghcr.io/OWNER/opencode2api:latest"docker compose -f deploy/compose/compose.yml up -d
curl http://127.0.0.1:${OPENCODE2API_HTTP_PORT:-52000}/healthdocker compose -f deploy/compose/compose.tor.yml up -d
curl http://127.0.0.1:${OPENCODE2API_HTTP_PORT:-52000}/health该模版会把首次生成的配置设为:
{
"socks5_proxies": [{"name": "tor", "addr": "tor:9050"}],
"active_socks5": "tor:9050"
}docker compose -f deploy/compose/compose.warp.yml up -d
curl http://127.0.0.1:${OPENCODE2API_HTTP_PORT:-52000}/health该模版使用 caomingjun/warp 镜像,并把首次生成的配置设为:
{
"socks5_proxies": [{"name": "warp", "addr": "warp:1080"}],
"active_socks5": "warp:1080"
}如果宿主机内核或 containerd 版本导致 WARP 容器无法打开 TUN 设备,先查看 WARP 容器日志:
docker logs opencode2api-warp容器只在 /data/config.json 不存在时根据环境变量生成初始配置。已经启动过的部署可以用两种方式切换:
- 打开管理面板修改 SOCKS5 代理和启用项。
- 删除 compose volume 后重新启动,让入口脚本重新生成配置。
docker compose -f deploy/compose/compose.tor.yml down -v
docker compose -f deploy/compose/compose.warp.yml up -d生产环境请务必修改 OPENCODE2API_PASSWORD,并把服务放在 HTTPS 反向代理、VPN 或访问控制之后。