|
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 |
- # base image
- FROM node:18.17.0-alpine AS base
-
- # install packages
- FROM base as packages
- LABEL maintainer="takatost@gmail.com"
-
- WORKDIR /app/web
-
- COPY package.json .
- COPY yarn.lock .
-
- RUN yarn --only=prod
-
-
- # build resources
- FROM base as builder
- WORKDIR /app/web
- COPY --from=packages /app/web/ .
- COPY . .
-
- RUN yarn build
-
-
- # production stage
- FROM base as production
-
- ENV NODE_ENV production
- ENV EDITION SELF_HOSTED
- ENV DEPLOY_ENV PRODUCTION
- ENV CONSOLE_API_URL http://127.0.0.1:5001
- ENV APP_API_URL http://127.0.0.1:5001
- ENV PORT 3000
-
-
- WORKDIR /app/web
- COPY --from=builder /app/web/public ./public
- COPY --from=builder /app/web/.next/standalone ./
- COPY --from=builder /app/web/.next/static ./.next/static
-
-
- COPY docker/entrypoint.sh ./entrypoint.sh
- RUN chmod +x ./entrypoint.sh
-
- ARG COMMIT_SHA
- ENV COMMIT_SHA ${COMMIT_SHA}
-
- EXPOSE 3000
- ENTRYPOINT ["/bin/sh", "./entrypoint.sh"]
|