FROM golang:1.25.5-alpine AS build ARG TARGETOS ARG TARGETARCH WORKDIR /app RUN apk add --no-cache ca-certificates olm-dev build-base COPY go.mod ./ RUN --mount=type=cache,target=/go/pkg/mod go mod download COPY . . RUN --mount=type=cache,target=/go/pkg/mod --mount=type=cache,target=/root/.cache/go-build CGO_ENABLED=1 GOOS=${TARGETOS:-linux} GOARCH=${TARGETARCH:-arm64} go build -o matrix-bot ./ FROM alpine:3.19 WORKDIR /app RUN apk add --no-cache ca-certificates olm RUN mkdir -p /data COPY --from=build /app/matrix-bot /app/matrix-bot COPY --from=build /app/sowpods.csv /data/sowpods.csv VOLUME ["/data"] ENV MATRIX_CRYPTO_DB=/data/crypto.db ENV MATRIX_WORDLIST=/data/sowpods.csv CMD ["/app/matrix-bot"]