2 changed files with 46 additions and 0 deletions
@ -0,0 +1,42 @@ |
|||
# Build stage |
|||
FROM node:20-alpine AS builder |
|||
|
|||
# Install build dependencies |
|||
|
|||
RUN apk add --no-cache \ |
|||
python3 \ |
|||
py3-pip \ |
|||
py3-setuptools \ |
|||
make \ |
|||
g++ \ |
|||
gcc |
|||
|
|||
# Set working directory |
|||
WORKDIR /app |
|||
|
|||
# Copy package files |
|||
COPY package*.json ./ |
|||
|
|||
# Install dependencies |
|||
RUN npm ci |
|||
|
|||
# Copy source code |
|||
COPY . . |
|||
|
|||
# Build the application |
|||
RUN npm run build:web |
|||
|
|||
# Production stage |
|||
FROM nginx:alpine |
|||
|
|||
# Copy built assets from builder stage |
|||
COPY --from=builder /app/dist /usr/share/nginx/html |
|||
|
|||
# Copy nginx configuration if needed |
|||
# COPY nginx.conf /etc/nginx/conf.d/default.conf |
|||
|
|||
# Expose port 80 |
|||
EXPOSE 80 |
|||
|
|||
# Start nginx |
|||
CMD ["nginx", "-g", "daemon off;"] |
@ -0,0 +1,4 @@ |
|||
#!/bin/bash |
|||
export IMAGENAME="$(basename $PWD):1.0" |
|||
|
|||
docker build . --network=host -t $IMAGENAME --no-cache |
Loading…
Reference in new issue