CI: Add docker file for arm64 cross-compilation

This commit is contained in:
Samantaz Fox 2023-09-16 23:36:16 +02:00
parent 80a2ce05a8
commit ea176aba8d
No known key found for this signature in database
GPG Key ID: F42821059186176E
2 changed files with 36 additions and 1 deletions

View File

@ -117,7 +117,7 @@ jobs:
uses: docker/build-push-action@v5 uses: docker/build-push-action@v5
with: with:
context: . context: .
file: docker/Dockerfile.arm64 file: docker/Dockerfile.arm64-musl-cross
platforms: linux/arm64/v8 platforms: linux/arm64/v8
build-args: release=0 build-args: release=0

View File

@ -0,0 +1,35 @@
FROM alpine:3.18 AS builder
RUN apk add --no-cache gcc make yaml-static libxml2-static sqlite-static zlib-static \
xz-static openssl-libs-static openssl-dev pcre-dev gc-dev libevent-static musl-dev
ARG release
COPY ./Makefile .
COPY ./invidious-arm64-musl.o .
RUN make invidious-arm64-musl STATIC=1
FROM alpine:3.18
RUN apk add --no-cache librsvg ttf-opensans tini
WORKDIR /invidious
RUN addgroup -g 1000 -S invidious && \
adduser -u 1000 -S invidious -G invidious
COPY --chown=invidious ./config/ ./config/
RUN mv -n config/config.example.yml config/config.yml
RUN sed -i 's/host: \(127.0.0.1\|localhost\)/host: invidious-db/' config/config.yml
COPY ./locales/ ./locales/
COPY ./assets ./assets/
RUN chmod o+rX -R ./assets ./config ./locales
COPY --from=builder /invidious-arm64-musl .
EXPOSE 3000
USER invidious
ENTRYPOINT ["/sbin/tini", "--"]
CMD [ "/invidious/invidious-arm64-musl" ]