28 lines
955 B
Docker
28 lines
955 B
Docker
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"]
|
|
|