vidcraft / Dockerfile
tsi-org's picture
Update Dockerfile
164fe40
raw
history blame contribute delete
884 Bytes
# Use the official Node.js image from Docker Hub
FROM node:18 AS build
# Set the working directory
WORKDIR /usr/src/app
# Copy package.json and package-lock.json for installing dependencies
COPY package.json package-lock.json ./
# Install dependencies
RUN npm install
# Copy the entire project
COPY . .
# Build the project
RUN npm run build
# Use a smaller image for the production environment
FROM node:18-alpine
# Set environment to production
ENV NODE_ENV production
# Set the working directory
WORKDIR /usr/src/app
# Copy from the "build" stage
COPY --from=build /usr/src/app/.next ./.next
COPY --from=build /usr/src/app/package.json ./package.json
COPY --from=build /usr/src/app/package-lock.json ./package-lock.json
# Install only production dependencies
RUN npm install --production
EXPOSE 3000
ENV PORT 3000
# Command to run the application
CMD ["npm", "start"]