nextload/Dockerfile
tobias d9f17bb761
Some checks failed
continuous-integration/drone Build is failing
Enable pnpm for build stage
2024-06-06 08:19:41 +02:00

43 lines
936 B
Docker

FROM node:lts as base
# Set environment variables for pnpm
ENV PNPM_HOME="/pnpm"
ENV PATH="$PNPM_HOME:$PATH"
RUN corepack enable
WORKDIR /base
COPY package.json pnpm-lock.yaml ./
RUN pnpm install --frozen-lockfile
COPY . .
# Build stage: build the Next.js application
FROM base as build
ENV NODE_ENV=production
WORKDIR /base
RUN pnpm build
# Production stage: serve the application
FROM node:lts as prod
ENV NODE_ENV=production
WORKDIR /app
RUN corepack enable
COPY package.json pnpm-lock.yaml ./
RUN pnpm install --production
# Copy build artifacts from the build stage
COPY --from=build /base/.next ./.next
COPY --from=build /base/public ./public
COPY --from=build /base/next.config.js ./
# Expose the port for the application
EXPOSE 3000
# Copy and configure the entrypoint script
COPY docker-entrypoint.sh /docker-entrypoint.sh
RUN chmod +x /docker-entrypoint.sh
ENTRYPOINT ["/docker-entrypoint.sh"]
CMD ["pnpm", "start"]