一、下载arm版本opencode cli
github地址:https://github.com/anomalyco/opencode/releases/download/v1.18.3/opencode-linux-arm64.tar.gz
二、使用Dockerfile构建镜像
1、新建opencode-docker目录
opencode-linux-arm64.tar.gz解压后放此目录下;
2、新建Dockerfile配置:
FROM --platform=linux/arm64 debian:trixie-slimRUN apt-get update && apt-get install -y --no-install-recommends \ca-certificates \git \openssh-client \libssl3 \&& rm -rf /var/lib/apt/lists/* \&& useradd -m -s /bin/bash -u 1000 opencode# 复制你解压出的二进制
COPY opencode /usr/local/bin/opencode
RUN chmod +x /usr/local/bin/opencode# 关键:创建所有需要的目录并设置权限
RUN mkdir -p /home/opencode/.config/opencode \/home/opencode/.local/share/opencode \/home/opencode/.local/state \/home/opencode/.ssh \/workspace \&& chown -R opencode:opencode /home/opencodeUSER opencode
WORKDIR /home/opencode# 挂载配置和 SSH 密钥
VOLUME ["/home/opencode/.config/opencode"]
VOLUME ["/home/opencode/.ssh"]
VOLUME ["/workspace"]ENV BUN_RUNTIME_TRANSPILER_CACHE_PATH=0ENTRYPOINT ["opencode"]
3、构建
docker build -t opencode:1.18.3-arm64 .
三、启动容器
1、新建serve目录
2、目录下新建docker-compose.yaml配置
version: "3.8"services:opencode:image: opencode:1.18.3-arm64platform: linux/arm64container_name: opencode# Web 服务端口ports:- "${OPENCODE_PORT:-4096}:4096"volumes:- ${PROJECT_PATH:-$(pwd)}:/workspace- ./opencode-config:/home/opencode/.config/opencode- ./opencode-auth:/home/opencode/.local/share/opencode- ~/.ssh/id_ed25519:/home/opencode/.ssh/id_ed25519:roenvironment:- GH_TOKEN=${GH_TOKEN:-}- OPENCODE_SERVER_USERNAME=${OPENCODE_SERVER_USERNAME:-opencode}- OPENCODE_SERVER_PASSWORD=${OPENCODE_SERVER_PASSWORD:-}working_dir: /workspace# 关键:覆盖默认 entrypoint,启动 serve 模式,API交互command: ["serve", "--hostname", "0.0.0.0", "--port", "4096"]
3、新建.env配置
# .env
PROJECT_PATH=./workspace
OPENCODE_PORT=4096
OPENCODE_SERVER_USERNAME=opencode
OPENCODE_SERVER_PASSWORD=opencode123
GH_TOKEN=ghp_xxxxxxxxx
4、serve目录下新建workspace目录、opencode-config、opencode-auth目录,挂载
5、启动
docker compose up -d
