macm1使用docker部署opencode arm
一、下载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-slim
RUN 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/opencode
USER opencode
WORKDIR /home/opencode
# 挂载配置和 SSH 密钥
VOLUME ["/home/opencode/.config/opencode"]
VOLUME ["/home/opencode/.ssh"]
VOLUME ["/workspace"]
ENV BUN_RUNTIME_TRANSPILER_CACHE_PATH=0
ENTRYPOINT ["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-arm64
platform: linux/arm64
container_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:ro
environment:
- 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
浙公网安备 33010602011771号