ARG ALPINE_VERSION=latest FROM --platform=$BUILDPLATFORM alpine:${ALPINE_VERSION} AS base ARG TARGETPLATFORM BUILDPLATFORM OPENCODE_VERSION FROM base AS builder-linux_arm64 ADD https://github.com/anomalyco/opencode/releases/download/v${OPENCODE_VERSION}/opencode-linux-arm64-musl.tar.gz ./opencode.tgz FROM base AS builder-linux_amd64 ADD https://github.com/anomalyco/opencode/releases/download/v${OPENCODE_VERSION}/opencode-linux-x64-musl.tar.gz ./opencode.tgz FROM builder-${TARGETPLATFORM//\//_} AS release RUN --mount=type=cache,target=/var/cache/apk apk update RUN --mount=type=cache,target=/var/cache/apk apk add rust-analyzer openjdk25-jdk jdtls pipx RUN tar -xvf ./opencode.tgz -C /usr/bin RUN rm opencode.tgz RUN adduser -D -h /var/lib/opencode opencode RUN mkdir /workspace RUN chown opencode:opencode /workspace USER opencode WORKDIR /workspace RUN pipx install pyright ENTRYPOINT ["opencode"] VOLUME ["/var/lib/opencode", "/workspace"]