57 lines
942 B
Docker
57 lines
942 B
Docker
ARG ARCH=amd64
|
|
|
|
FROM $ARCH/alpine:3.14 as builder
|
|
|
|
ARG TAG
|
|
ARG UID=991
|
|
ARG GID=991
|
|
|
|
RUN \
|
|
addgroup -g "${GID}" build && \
|
|
adduser -D -G build -u "${UID}" -g "" -h /opt/build build && \
|
|
apk add \
|
|
g++ \
|
|
gcc \
|
|
git \
|
|
make \
|
|
musl-dev \
|
|
nodejs \
|
|
npm \
|
|
python3
|
|
|
|
USER build
|
|
WORKDIR /opt/build
|
|
|
|
RUN \
|
|
git clone https://github.com/turt2live/matrix-dimension.git matrix-dimension
|
|
|
|
WORKDIR /opt/build/matrix-dimension
|
|
|
|
RUN \
|
|
git checkout $TAG && \
|
|
rm -r .git && \
|
|
npm install && \
|
|
npm run build
|
|
|
|
FROM $ARCH/alpine:3.14
|
|
|
|
ARG UID=991
|
|
ARG GID=991
|
|
|
|
RUN \
|
|
addgroup -g "${GID}" app && \
|
|
adduser -D -G app -u "${UID}" -g "" -h /opt/app app && \
|
|
apk add nodejs npm tini && \
|
|
mkdir /etc/dimension
|
|
|
|
USER app
|
|
|
|
COPY --from=builder /opt/build/matrix-dimension /opt/app/matrix-dimension
|
|
|
|
WORKDIR /opt/app/matrix-dimension
|
|
|
|
ENV NODE_ENV=production
|
|
|
|
EXPOSE 8184
|
|
ENTRYPOINT ["/sbin/tini", "--"]
|
|
CMD ["npm", "run", "start:app"]
|