1
0
mirror of https://gitlab.com/timvisee/send.git synced 2024-11-08 20:22:45 +01:00
send/Dockerfile

74 lines
1.4 KiB
Docker
Raw Normal View History

2019-09-07 05:00:00 +02:00
##
# Send
2019-09-07 05:00:00 +02:00
#
# License https://gitlab.com/timvisee/send/blob/master/LICENSE
2019-09-07 05:00:00 +02:00
##
# Build project
2021-12-01 18:20:43 +01:00
FROM node:16.13-alpine3.13 AS builder
2022-03-26 16:08:24 +01:00
RUN set -x \
# Change node uid/gid
&& apk --no-cache add shadow \
&& groupmod -g 1001 node \
&& usermod -u 1001 -g 1001 node
2019-09-07 05:00:00 +02:00
RUN set -x \
# Add user
2022-03-26 16:08:24 +01:00
&& addgroup --gid 1000 app \
2019-09-07 05:00:00 +02:00
&& adduser --disabled-password \
--gecos '' \
--ingroup app \
2019-09-07 05:00:00 +02:00
--home /app \
2022-03-26 16:08:24 +01:00
--uid 1000 \
2019-09-07 05:00:00 +02:00
app
2022-03-26 16:08:24 +01:00
2019-09-07 05:00:00 +02:00
COPY --chown=app:app . /app
2022-03-26 16:08:24 +01:00
2019-09-07 05:00:00 +02:00
USER app
2019-01-07 21:50:01 +01:00
WORKDIR /app
2022-03-26 16:08:24 +01:00
2019-09-07 05:00:00 +02:00
RUN set -x \
# Build
&& PUPPETEER_SKIP_CHROMIUM_DOWNLOAD=true npm ci \
2019-09-07 05:00:00 +02:00
&& npm run build
2017-06-09 01:11:17 +02:00
2019-09-07 05:00:00 +02:00
# Main image
2021-12-01 18:20:43 +01:00
FROM node:16.13-alpine3.13
2022-03-26 16:08:24 +01:00
RUN set -x \
# Change node uid/gid
&& apk --no-cache add shadow \
&& groupmod -g 1001 node \
&& usermod -u 1001 -g 1001 node
2019-09-07 05:00:00 +02:00
RUN set -x \
# Add user
2022-03-26 16:08:24 +01:00
&& addgroup --gid 1000 app \
2019-09-07 05:00:00 +02:00
&& adduser --disabled-password \
--gecos '' \
--ingroup app \
2019-09-07 05:00:00 +02:00
--home /app \
2022-03-26 16:08:24 +01:00
--uid 1000 \
2019-09-07 05:00:00 +02:00
app
USER app
2017-06-09 01:11:17 +02:00
WORKDIR /app
2022-03-26 16:08:24 +01:00
2019-09-07 05:00:00 +02:00
COPY --chown=app:app package*.json ./
COPY --chown=app:app app app
COPY --chown=app:app common common
COPY --chown=app:app public/locales public/locales
COPY --chown=app:app server server
COPY --chown=app:app --from=builder /app/dist dist
RUN npm ci --production && npm cache clean --force
RUN mkdir -p /app/.config/configstore
2019-06-03 21:25:09 +02:00
RUN ln -s dist/version.json version.json
2017-06-09 01:11:17 +02:00
ENV PORT=1443
2019-09-07 05:00:00 +02:00
EXPOSE ${PORT}
2019-01-07 21:50:01 +01:00
CMD ["node", "server/bin/prod.js"]