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
posted @ 2026-07-19 17:14  旧色染新烟  阅读(58)  评论(0)    收藏  举报