27 lines
787 B
Docker
27 lines
787 B
Docker
ARG NODE_VERSION=22.13.1
|
|
ARG VERSION
|
|
|
|
FROM node:${NODE_VERSION}-alpine
|
|
|
|
ENV NODE_ENV="production" \
|
|
PORT="2525" \
|
|
UMASK="0002" \
|
|
TZ="Etc/UTC"
|
|
|
|
WORKDIR /app
|
|
|
|
RUN apk add --no-cache --virtual=.build-deps git \
|
|
&& git clone https://github.com/kriiv/inbound-email.git . \
|
|
&& if [ -n "${VERSION}" ]; then \
|
|
NUMBER_COMMITS_TO_REVERT=$(( $(git rev-list --count --first-parent HEAD) - $(echo "${VERSION}" | cut -d "." -f3) )); \
|
|
git checkout "master~${NUMBER_COMMITS_TO_REVERT}"; \
|
|
fi \
|
|
&& npm install --omit=dev \
|
|
&& chown -R root:root /app && chmod -R 755 /app \
|
|
&& apk del --purge .build-deps \
|
|
&& rm -rf /root/.cache /root/.cargo /tmp/*
|
|
|
|
USER node
|
|
EXPOSE 2525
|
|
CMD node server.js
|
|
LABEL org.opencontainers.image.source="https://github.com/kriiv/inbound-email" |