diff --git a/Dockerfile.arm32v7 b/Dockerfile.arm32v7 new file mode 100644 index 00000000..2d43fa46 --- /dev/null +++ b/Dockerfile.arm32v7 @@ -0,0 +1,19 @@ +FROM golang:alpine as builder + +RUN apk add --no-cache make git && \ + wget -O /Country.mmdb https://github.com/Dreamacro/maxmind-geoip/releases/latest/download/Country.mmdb && \ + wget -O /qemu-arm-static https://github.com/multiarch/qemu-user-static/releases/latest/download/qemu-arm-static + +WORKDIR /clash-src +COPY . /clash-src +RUN go mod download && \ + make linux-armv7 && \ + mv ./bin/clash-linux-armv7 /clash + +FROM arm32v7/alpine:latest + +COPY --from=builder /qemu-arm-static /usr/bin/ +COPY --from=builder /Country.mmdb /root/.config/clash/ +COPY --from=builder /clash / +RUN apk add --no-cache ca-certificates +ENTRYPOINT ["/clash"] diff --git a/Dockerfile.arm64v8 b/Dockerfile.arm64v8 new file mode 100644 index 00000000..0debda04 --- /dev/null +++ b/Dockerfile.arm64v8 @@ -0,0 +1,19 @@ +FROM golang:alpine as builder + +RUN apk add --no-cache make git && \ + wget -O /Country.mmdb https://github.com/Dreamacro/maxmind-geoip/releases/latest/download/Country.mmdb && \ + wget -O /qemu-aarch64-static https://github.com/multiarch/qemu-user-static/releases/latest/download/qemu-aarch64-static + +WORKDIR /clash-src +COPY . /clash-src +RUN go mod download && \ + make linux-armv8 && \ + mv ./bin/clash-linux-armv8 /clash + +FROM arm64v8/alpine:latest + +COPY --from=builder /qemu-aarch64-static /usr/bin/ +COPY --from=builder /Country.mmdb /root/.config/clash/ +COPY --from=builder /clash / +RUN apk add --no-cache ca-certificates +ENTRYPOINT ["/clash"]