]> git.immae.eu Git - github/bastienwirtz/homer.git/blame - Dockerfile.arm32v7
Alias subfolder hosting
[github/bastienwirtz/homer.git] / Dockerfile.arm32v7
CommitLineData
b9c5fcf0
BW
1# build stage
2FROM node:lts-alpine as build-stage
3
4WORKDIR /app
5
6COPY package*.json ./
e6596ca6 7RUN yarn install --frozen-lockfile
b9c5fcf0
BW
8
9COPY . .
10RUN yarn build
11
12# Multi arch build support
5a5412c5
AZ
13FROM alpine as qemu
14
514b68ea 15ARG QEMU_VERSION="v4.2.0-7"
5a5412c5
AZ
16
17RUN wget https://github.com/multiarch/qemu-user-static/releases/download/${QEMU_VERSION}/qemu-arm-static && chmod +x qemu-arm-static
18
b9c5fcf0 19# production stage
abe6df52
AZ
20FROM arm32v7/alpine:3.11
21
5a5412c5 22COPY --from=qemu qemu-arm-static /usr/bin/
abe6df52 23
b6b31e44
K
24ENV USER lighttpd
25ENV GROUP lighttpd
abe6df52
AZ
26ENV GID 911
27ENV UID 911
481ab9a0 28ENV PORT 8080
cd75da69 29ENV SUBFOLDER "/_"
abe6df52
AZ
30
31RUN addgroup -S ${GROUP} -g ${GID} && adduser -D -S -u ${UID} ${USER} ${GROUP} && \
b6b31e44 32 apk add -U --no-cache lighttpd && \
5a5412c5 33 rm /usr/bin/qemu-arm-static
abe6df52 34
fd9237eb 35COPY entrypoint.sh /entrypoint.sh
b6b31e44 36COPY lighttpd.conf /lighttpd.conf
d10b219d 37
cd75da69
BW
38COPY --from=build-stage --chown=${USER}:${GROUP} /app/dist /www/
39COPY --from=build-stage --chown=${USER}:${GROUP} /app/dist/assets /www/default-assets
220c60cb 40HEALTHCHECK --interval=30s --timeout=5s --retries=3 \
6dd8342b
DV
41 CMD wget --no-verbose --tries=1 --spider http://127.0.0.1:${PORT}/ || exit 1
42
481ab9a0 43EXPOSE ${PORT}
b102c9b2 44VOLUME /www/assets
481ab9a0 45ENTRYPOINT ["/bin/sh", "/entrypoint.sh"]