diff --git a/Dockerfile b/Dockerfile index fe0d803a6eaf0bb5faf47929fd88d8f9262384a8..a8091f669f14ea047e36a7739f23cc0c19a63ed9 100644 --- a/Dockerfile +++ b/Dockerfile @@ -20,25 +20,21 @@ RUN pnpm install --frozen-lockfile # Build shared FROM base AS build-shared -COPY apps/shared ./apps/shared/ -COPY --from=dependencies package.json ./ -COPY --from=dependencies pnpm-lock.yaml ./ -COPY --from=dependencies pnpm-workspace.yaml ./ -COPY --from=dependencies tsconfig*.json ./ -COPY --from=dependencies .swcrc ./ -COPY --from=dependencies node_modules ./node_modules/ -COPY --from=dependencies apps/shared/node_modules ./apps/shared/node_modules/ -COPY --from=dependencies patches ./patches/ +COPY apps/shared ./apps/shared +COPY --from=dependencies ${APP_HOME}/package.json ${APP_HOME}/pnpm-lock.yaml ${APP_HOME}/pnpm-workspace.yaml ${APP_HOME}/tsconfig*.json ${APP_HOME}/.swcrc ./ +COPY --from=dependencies ${APP_HOME}/node_modules ./node_modules +COPY --from=dependencies ${APP_HOME}/apps/shared/node_modules ./apps/shared/node_modules +COPY --from=dependencies ${APP_HOME}/patches ./patches RUN pnpm --filter shared build # Build DevTools FROM base AS build-devtools COPY --from=dependencies ${APP_HOME}/package.json ${APP_HOME}/pnpm-lock.yaml ${APP_HOME}/pnpm-workspace.yaml ${APP_HOME}/tsconfig*.json ${APP_HOME}/.swcrc ./ -COPY --from=dependencies ${APP_HOME}/node_modules ./node_modules/ -COPY --from=dependencies ${APP_HOME}/devtools/node_modules ./devtools/node_modules/ -COPY --from=dependencies ${APP_HOME}/patches ./patches/ -COPY --from=build-shared ${APP_HOME}/apps/shared ./apps/shared/ +COPY --from=dependencies ${APP_HOME}/node_modules ./node_modules +COPY --from=dependencies ${APP_HOME}/devtools/node_modules ./devtools/node_modules +COPY --from=dependencies ${APP_HOME}/patches ./patches +COPY --from=build-shared ${APP_HOME}/apps/shared ./apps/shared COPY devtools ./devtools RUN pnpm --filter devtools build && pnpm --filter devtools --prod deploy build @@ -52,9 +48,9 @@ ENV NODE_ENV=${NODE_ENV} WORKDIR ${APP_HOME} CMD ["node", "dist/server.js"] -COPY --from=build-devtools --chown=node:node ${APP_HOME}/build/dist ./dist/ -COPY --from=build-devtools --chown=node:node ${APP_HOME}/build/node_modules ./node_modules/ -COPY --from=build-devtools --chown=node:node ${APP_HOME}/build/package.json ./ +COPY --from=build-devtools --chown=node:node ${APP_HOME}/build/dist ./dist +COPY --from=build-devtools --chown=node:node ${APP_HOME}/build/node_modules ./node_modules +COPY --from=build-devtools --chown=node:node ${APP_HOME}/build/package.json . USER node @@ -62,9 +58,9 @@ USER node FROM base AS build-service COPY --from=dependencies ${APP_HOME}/package.json ${APP_HOME}/pnpm-lock.yaml ${APP_HOME}/pnpm-workspace.yaml ${APP_HOME}/tsconfig*.json ${APP_HOME}/.swcrc ./ -COPY --from=dependencies ${APP_HOME}/node_modules ./node_modules/ -COPY --from=dependencies ${APP_HOME}/patches ./patches/ -COPY --from=build-shared ${APP_HOME}/apps/shared ./apps/shared/ +COPY --from=dependencies ${APP_HOME}/node_modules ./node_modules +COPY --from=dependencies ${APP_HOME}/patches ./patches +COPY --from=build-shared ${APP_HOME}/apps/shared ./apps/shared COPY apps/${SERVICE} ./apps/${SERVICE} RUN pnpm install --frozen-lockfile && pnpm --filter ${SERVICE} build && pnpm --filter ${SERVICE} --prod deploy build @@ -78,9 +74,9 @@ ENV NODE_ENV=${NODE_ENV} WORKDIR ${APP_HOME} CMD ["node", "dist/main.js"] -COPY --from=build-service --chown=node:node ${APP_HOME}/build/dist ./dist/ -COPY --from=build-service --chown=node:node ${APP_HOME}/build/node_modules ./node_modules/ -COPY --from=build-service --chown=node:node ${APP_HOME}/build/package.json ./ +COPY --from=build-service --chown=node:node ${APP_HOME}/build/dist ./dist +COPY --from=build-service --chown=node:node ${APP_HOME}/build/node_modules ./node_modules +COPY --from=build-service --chown=node:node ${APP_HOME}/build/package.json . # Cut unnecessary stuff from package.json. Only leave name, version, description and module type RUN node -e "\