description-improv / Dockerfile
Felix Zieger
update
018dc4e
raw
history blame contribute delete
597 Bytes
# Use the official Node.js image as the base image
FROM node:22-alpine
# Set the working directory
WORKDIR /app
# Install pnpm and serve
RUN npm install -g pnpm serve
# Install dependencies
COPY package.json ./
COPY pnpm-lock.yaml ./
RUN pnpm install
# Copy the rest of the application code
COPY . .
# Build the Vite application
RUN pnpm run build
# Ensure the correct ownership and permissions
RUN chown -R node:node /app
# Switch to the non-root 'node' user
USER node
# Expose the port the app runs on
EXPOSE 8080
# Start the production server
CMD ["serve", "-s", "dist", "-l", "8080"]