2022-09-14 19:47:11 +00:00
|
|
|
FROM node:18-bullseye AS build
|
2022-09-14 19:16:04 +00:00
|
|
|
ENV ELASTIC_URL='http://elastic:9200' \
|
|
|
|
ELASTIC_USER='elastic' \
|
|
|
|
ELASTIC_PASSWORD='' \
|
2022-01-03 12:26:17 +00:00
|
|
|
SEED_NODE_DOMAIN='mastodon.social' \
|
|
|
|
REATTEMPT_MINUTES='60' \
|
|
|
|
REFRESH_HOURS='120' \
|
|
|
|
WAIT_FOR_JOB_MINUTES='60' \
|
|
|
|
DEFAULT_TIMEOUT_MILLISECONDS='10000' \
|
2022-09-14 19:16:04 +00:00
|
|
|
BANNED_DOMAINS='' \
|
2022-01-03 12:26:17 +00:00
|
|
|
TZ='UTC'
|
2021-12-23 14:14:06 +00:00
|
|
|
WORKDIR /srv
|
|
|
|
COPY application/package*.json ./
|
|
|
|
RUN npm install
|
|
|
|
COPY application/. .
|
|
|
|
RUN npm run build
|
|
|
|
|
|
|
|
FROM build AS dev
|
2022-09-14 19:16:04 +00:00
|
|
|
CMD npx tsc --watch
|
2021-12-23 14:14:06 +00:00
|
|
|
|
|
|
|
FROM node:16-bullseye AS prod
|
2022-01-01 19:33:19 +00:00
|
|
|
RUN groupadd -g 1001 nodejs
|
2022-09-14 19:47:11 +00:00
|
|
|
RUN useradd -m -u 1001 -g 1001 nextjs
|
2021-12-23 14:14:06 +00:00
|
|
|
WORKDIR /srv
|
2022-01-01 19:33:19 +00:00
|
|
|
USER nextjs
|
2021-12-23 14:14:06 +00:00
|
|
|
COPY --from=build /srv/node_modules ./node_modules
|
|
|
|
COPY --from=build /srv/package*.json ./
|
|
|
|
COPY --from=build /srv/dist ./dist
|
2022-01-01 19:33:19 +00:00
|
|
|
CMD npm run start:deploy
|