# Use an official Node.js runtime as a parent image | |
FROM node:18 | |
# Set the working directory in the container | |
WORKDIR /app | |
# Copy the package.json and package-lock.json files | |
COPY package*.json ./ | |
# Install the Node.js dependencies | |
RUN npm install | |
# Copy the rest of the application code | |
COPY . . | |
# Install Nginx | |
RUN apt-get update && apt-get install -y nginx | |
# Remove the default Nginx configuration file | |
RUN rm /etc/nginx/sites-enabled/default | |
# Copy your Nginx configuration | |
COPY nginx.conf /etc/nginx/sites-enabled/ | |
# Expose both ports: one for Nginx and one for WebSocket | |
EXPOSE 80 6060 | |
# Start both Nginx and Node.js backend | |
CMD service nginx start && node server.js | |