2023-10-15 00:47:19 +00:00
|
|
|
FROM fascinated/docker-images:node-pnpm-latest
|
2023-07-08 19:49:08 +00:00
|
|
|
|
2023-07-01 20:43:53 +00:00
|
|
|
ENV NODE_ENV=production
|
|
|
|
WORKDIR /usr/src/app
|
2023-07-12 10:21:38 +00:00
|
|
|
|
|
|
|
# Copy package.json and package-lock.json separately to fully utilize Docker layer caching
|
|
|
|
COPY package.json ./
|
2023-10-15 00:46:09 +00:00
|
|
|
COPY pnpm-lock.yaml ./
|
|
|
|
RUN pnpm ci --production --silent && pnpm cache clean --force
|
2023-07-12 10:21:38 +00:00
|
|
|
|
|
|
|
# Opt out of Next.js telemetry
|
2023-07-02 11:05:27 +00:00
|
|
|
RUN npx next telemetry disable
|
|
|
|
|
2023-07-12 10:30:38 +00:00
|
|
|
# Copy the rest of the files
|
|
|
|
COPY . .
|
|
|
|
|
|
|
|
# Remove development dependencies
|
2023-10-15 00:46:09 +00:00
|
|
|
RUN pnpm prune --production
|
2023-07-12 10:30:38 +00:00
|
|
|
|
2023-07-12 12:55:48 +00:00
|
|
|
# Environment Variables
|
|
|
|
ENV NODE_ENV=production
|
|
|
|
|
2023-07-12 10:21:38 +00:00
|
|
|
# Expose port 3000
|
|
|
|
EXPOSE 3000
|
|
|
|
|
|
|
|
# Start the app
|
2023-07-12 13:02:33 +00:00
|
|
|
CMD ["bash", "start.sh"]
|