config CORS fixed key to one line helper prints clean up logs improved validations again validations fix rewritten flask and node.js solution added subscription route auth flow diagrams
23 lines
691 B
Docker
23 lines
691 B
Docker
# Use an official Node.js runtime as a parent image
|
|
# Alpine Linux is chosen for its small size
|
|
FROM node:20-alpine
|
|
|
|
# Set the working directory in the container
|
|
WORKDIR /app
|
|
|
|
# Copy package.json and package-lock.json (if available)
|
|
COPY package*.json ./
|
|
|
|
# Install app dependencies using npm ci for faster, reliable builds
|
|
# Use --only=production to avoid installing devDependencies
|
|
RUN npm ci --only=production
|
|
|
|
# Copy the rest of the application code
|
|
COPY . .
|
|
|
|
# Make port 3000 available to the world outside this container
|
|
# This is the port our Node.js app will listen on
|
|
EXPOSE 3000
|
|
|
|
# Define the command to run your app using CMD which defines your runtime
|
|
CMD [ "node", "server.js" ] |