simple-links/Dockerfile

29 lines
567 B
Docker
Raw Normal View History

2023-07-12 10:21:38 +00:00
# Use a smaller base image
FROM node:lts-slim
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 ./
COPY package-lock.json ./
RUN npm ci --production --silent && npm cache clean --force
# Copy the rest of the files
2023-07-01 20:43:53 +00:00
COPY . .
2023-07-01 21:17:34 +00:00
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-01 21:17:34 +00:00
# Build the app
2023-07-02 14:09:25 +00:00
#RUN npm run build
2023-07-01 21:17:34 +00:00
2023-07-12 10:21:38 +00:00
# Expose port 3000
EXPOSE 3000
# Set permissions and user
2023-07-02 14:04:33 +00:00
RUN chown -R node /usr/src/app
USER node
2023-07-12 10:21:38 +00:00
# Start the app
CMD ["npm", "start"]