All checks were successful
CI / Build opencode docker images (push) Successful in 26s
32 lines
1.3 KiB
Docker
32 lines
1.3 KiB
Docker
ARG ALPINE_VERSION=latest
|
|
FROM --platform=$BUILDPLATFORM alpine:${ALPINE_VERSION} AS base
|
|
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 ripgrep git
|
|
RUN adduser -D -h /var/lib/opencode opencode
|
|
RUN mkdir /workspace
|
|
RUN chown opencode:opencode /workspace
|
|
USER opencode
|
|
RUN pipx install pyright
|
|
USER root
|
|
|
|
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 tar -xvf ./opencode.tgz -C /usr/bin
|
|
RUN rm opencode.tgz
|
|
ADD --chown=opencode:opencode ./opencode.json /etc/opencode/opencode.json
|
|
RUN mkdir -p /usr/lib/opencode/addons
|
|
ADD --chmod=644 https://repo1.maven.org/maven2/org/projectlombok/lombok/1.18.44/lombok-1.18.44.jar /usr/lib/opencode/addons/lombok.jar
|
|
ENV OPENCODE_CONFIG=/etc/opencode/opencode.json
|
|
USER opencode
|
|
WORKDIR /workspace
|
|
ENTRYPOINT ["opencode"]
|
|
VOLUME ["/var/lib/opencode", "/workspace"]
|
|
|