54 lines
1,009 B
Docker
54 lines
1,009 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 \
|
|
git \
|
|
nodejs \
|
|
npm
|
|
|
|
USER build
|
|
WORKDIR /opt/build
|
|
|
|
RUN \
|
|
git clone https://github.com/turt2live/matrix-sticker-manager.git matrix-sticker-manager
|
|
|
|
WORKDIR /opt/build/matrix-sticker-manager
|
|
|
|
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 tini
|
|
|
|
USER app
|
|
|
|
COPY --from=builder /opt/build/matrix-sticker-manager /opt/app/matrix-sticker-manager
|
|
|
|
WORKDIR /opt/app/matrix-sticker-manager
|
|
|
|
ENV NODE_ENV=production
|
|
|
|
VOLUME /opt/app/matrix-sticker-manager/storage
|
|
VOLUME /opt/app/matrix-sticker-manager/config
|
|
EXPOSE 8082
|
|
ENTRYPOINT ["/sbin/tini", "--"]
|
|
CMD ["node", "/opt/app/matrix-sticker-manager/lib/index.js"]
|