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 ["/workspace"] # FROM oven/bun:1.3.5-alpine AS builder # FROM node:25-alpine AS builder # ARG VERSION # ENTRYPOINT sh # RUN adduser -D -h /home/builder builder # USER builder # WORKDIR /home/builder # ADD --chown=builder:builder git@github.com:anomalyco/opencode.git#v${VERSION} opencode # WORKDIR /home/builder/opencode # RUN bun install # WORKDIR /home/builder/opencode/packages/opencode # RUN OPENCODE_CHANNEL=latest OPENCODE_VERSION=1.1.25 bun run ./script/build.ts --single #RUN rm ./opencode.tgz # RUN adduser -D -h /var/lib/opencode opencode # USER opencode # WORKDIR /var/lib/opencode