]> git.immae.eu Git - github/bastienwirtz/homer.git/blame_incremental - Dockerfile.arm64v8
Merge branch 'master' of github.com:bastienwirtz/homer
[github/bastienwirtz/homer.git] / Dockerfile.arm64v8
... / ...
CommitLineData
1# build stage
2FROM node:lts-alpine as build-stage
3
4WORKDIR /app
5
6COPY package*.json ./
7RUN yarn install --frozen-lockfile
8
9COPY . .
10RUN yarn build
11
12# Multi arch build support
13FROM alpine as qemu
14
15ARG QEMU_VERSION="v4.2.0-7"
16
17RUN wget https://github.com/multiarch/qemu-user-static/releases/download/${QEMU_VERSION}/qemu-aarch64-static && chmod +x qemu-aarch64-static
18
19# production stage
20FROM arm64v8/alpine:3.11
21
22COPY --from=qemu qemu-aarch64-static /usr/bin/
23
24ENV USER darkhttpd
25ENV GROUP darkhttpd
26ENV GID 911
27ENV UID 911
28ENV PORT 8080
29
30RUN addgroup -S ${GROUP} -g ${GID} && adduser -D -S -u ${UID} ${USER} ${GROUP} && \
31 apk add -U darkhttpd && \
32 rm /usr/bin/qemu-aarch64-static
33
34RUN echo "darkhttpd /www/ --no-listing --port $PORT" > /entrypoint.sh
35RUN set -ex chown ${USER}:${GROUP} /entrypoint.sh
36
37USER ${USER}
38
39COPY --from=build-stage --chown=${USER}:${GROUP} /app/dist /www/
40
41EXPOSE ${PORT}
42ENTRYPOINT ["/bin/sh", "/entrypoint.sh"]