22 lines
494 B
Docker
22 lines
494 B
Docker
# Multi-stage build for Vue 3 portfolio
|
|
# Build stage
|
|
FROM node:20-alpine AS build
|
|
WORKDIR /app
|
|
|
|
# Install dependencies
|
|
COPY package*.json ./
|
|
RUN npm ci
|
|
|
|
# Copy source and build
|
|
COPY . .
|
|
RUN npm run build
|
|
|
|
# Runtime stage (no nginx as requested)
|
|
FROM node:20-alpine AS runtime
|
|
WORKDIR /app
|
|
# Install a tiny static file server
|
|
RUN npm install -g serve@14
|
|
# Copy only built assets
|
|
COPY --from=build /app/dist ./dist
|
|
# No EXPOSE (internal port 80 via serve)
|
|
CMD ["serve", "-s", "dist", "-l", "80"] |