Unverified Commit 5b06ded0 authored by Matri's avatar Matri Committed by GitHub

build: improve dockerfile (#851)

Co-authored-by: 's avatarMatriQi <matri@aifi.io>
parent 155a4733
...@@ -42,7 +42,6 @@ package-lock.json ...@@ -42,7 +42,6 @@ package-lock.json
.pnp.cjs .pnp.cjs
.pnp.loader.mjs .pnp.loader.mjs
.yarn/ .yarn/
yarn.lock
.yarnrc.yml .yarnrc.yml
# pmpm # pmpm
......
...@@ -42,7 +42,6 @@ package-lock.json ...@@ -42,7 +42,6 @@ package-lock.json
.pnp.cjs .pnp.cjs
.pnp.loader.mjs .pnp.loader.mjs
.yarn/ .yarn/
yarn.lock
.yarnrc.yml .yarnrc.yml
# pmpm # pmpm
......
FROM node:18.17.0-alpine # base image
FROM node:18.17.0-alpine AS base
# install packages
FROM base as packages
LABEL maintainer="takatost@gmail.com" 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 NODE_ENV=production
ENV EDITION SELF_HOSTED ENV EDITION SELF_HOSTED
ENV DEPLOY_ENV PRODUCTION ENV DEPLOY_ENV PRODUCTION
ENV CONSOLE_API_URL http://127.0.0.1:5001 ENV CONSOLE_API_URL http://127.0.0.1:5001
ENV APP_API_URL http://127.0.0.1:5001 ENV APP_API_URL http://127.0.0.1:5001
ENV PORT 3000
EXPOSE 3000
WORKDIR /app/web WORKDIR /app/web
COPY --from=builder /app/web/.next/standalone ./
COPY --from=builder /app/web/.next/static ./.next/static
COPY package.json /app/web/package.json
RUN npm install pm2 -g
RUN npm install --only=prod COPY docker/entrypoint.sh ./entrypoint.sh
RUN chmod +x ./entrypoint.sh
COPY . /app/web/
RUN npm run build
COPY docker/pm2.json /app/web/pm2.json
COPY docker/entrypoint.sh /entrypoint.sh
RUN chmod +x /entrypoint.sh
ARG COMMIT_SHA ARG COMMIT_SHA
ENV COMMIT_SHA ${COMMIT_SHA} ENV COMMIT_SHA ${COMMIT_SHA}
ENTRYPOINT ["/bin/sh", "/entrypoint.sh"] EXPOSE 3000
ENTRYPOINT ["/bin/sh", "./entrypoint.sh"]
\ No newline at end of file
...@@ -19,5 +19,4 @@ fi ...@@ -19,5 +19,4 @@ fi
export NEXT_PUBLIC_SENTRY_DSN=${SENTRY_DSN} export NEXT_PUBLIC_SENTRY_DSN=${SENTRY_DSN}
/usr/local/bin/pm2 -v node ./server.js
/usr/local/bin/pm2-runtime start /app/web/pm2.json \ No newline at end of file
...@@ -38,6 +38,7 @@ const nextConfig = { ...@@ -38,6 +38,7 @@ const nextConfig = {
}, },
] ]
}, },
output: 'standalone',
} }
module.exports = withMDX(nextConfig) module.exports = withMDX(nextConfig)
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment