2022-09-14 20:05:07 +00:00
|
|
|
FROM node:18-bullseye AS prebuild
|
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-11-29 13:11:27 +00:00
|
|
|
SEED_TIMEOUT_MILLISECONDS=${DEFAULT_TIMEOUT_MILLISECONDS} \
|
2022-09-14 19:16:04 +00:00
|
|
|
BANNED_DOMAINS='' \
|
2022-11-23 23:39:17 +00:00
|
|
|
MAX_CRAWLING_DEPTH='' \
|
|
|
|
CRAWLING_VERSION='0' \
|
2022-01-03 12:26:17 +00:00
|
|
|
TZ='UTC'
|
2022-09-14 20:05:07 +00:00
|
|
|
FROM prebuild AS build
|
2021-12-23 14:14:06 +00:00
|
|
|
WORKDIR /srv
|
|
|
|
COPY application/package*.json ./
|
2022-09-18 11:32:25 +00:00
|
|
|
RUN yarn
|
2021-12-23 14:14:06 +00:00
|
|
|
COPY application/. .
|
2022-09-18 11:32:25 +00:00
|
|
|
RUN yarn build
|
2021-12-23 14:14:06 +00:00
|
|
|
|
|
|
|
FROM build AS dev
|
2022-09-14 19:16:04 +00:00
|
|
|
CMD npx tsc --watch
|
2021-12-23 14:14:06 +00:00
|
|
|
|
2022-09-14 20:05:07 +00:00
|
|
|
FROM prebuild 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
|