allinix-demo/next/Dockerfile
2025-02-17 20:10:24 +05:30

40 lines
841 B
Docker

# Use the official Node.js image as the base image
FROM node:19-alpine
ARG NODE_ENV
ENV NODE_ENV=$NODE_ENV
# Needed for the wait-for-db script
RUN apk add --no-cache netcat-openbsd
# Set the working directory
WORKDIR /next
# Copy package.json and package-lock.json to the working directory
COPY package*.json ./
# Install dependencies
RUN npm ci
# Copy the wait-for-db.sh script
COPY wait-for-db.sh /usr/local/bin/wait-for-db.sh
RUN chmod +x /usr/local/bin/wait-for-db.sh
# Copy the rest of the application code
COPY . .
COPY entrypoint.sh /
# Ensure correct line endings after these files are edited by windows
RUN apk add --no-cache dos2unix netcat-openbsd \
&& dos2unix /entrypoint.sh
# Expose the port the app will run on
EXPOSE 3000
ENTRYPOINT ["sh", "/entrypoint.sh"]
# Start the application
CMD ["npm", "run", "dev"]