Files
Website-template/Dockerfile
2025-07-23 11:29:35 -04:00

50 lines
912 B
Docker

# Use official Node.js image
FROM node:24
### Client Stage
# Set working directory
WORKDIR /app
# create client directory
RUN mkdir client
# Set the working directory for the client
WORKDIR /app/client
# Copy package files and install dependencies
COPY /client/package*.json ./
RUN npm install
# Copy server source code
COPY /client .
# Build the server (if using TypeScript or build step)
RUN npm run build
### Server Stage
# Set working directory
WORKDIR /app
# create server directory
RUN mkdir server
# Set the working directory for the server
WORKDIR /app/server
# Copy package files and install dependencies
COPY /server/package*.json ./
RUN npm install
# Copy server source code
COPY /server .
# no build step for server, its already JavaScript
# Production stage
FROM node:24-slim
# Expose the port your server runs on (change if needed)
EXPOSE 8000
# Start the server
CMD ["npm", "start"]