32 lines
514 B
Docker
32 lines
514 B
Docker
# Build stage
|
|
FROM node:22-alpine AS builder
|
|
|
|
WORKDIR /app
|
|
|
|
# Copy package files
|
|
COPY package.json package-lock.json* ./
|
|
|
|
# Install dependencies
|
|
RUN npm ci
|
|
|
|
# Copy source files
|
|
COPY . .
|
|
|
|
# Build the app
|
|
RUN npm run build
|
|
|
|
# Production stage
|
|
FROM caddy:2-alpine
|
|
|
|
# Create log directory
|
|
RUN mkdir -p /var/log/caddy
|
|
|
|
# Copy built files
|
|
COPY --from=builder /app/dist /srv/dist
|
|
|
|
# Copy Caddy configuration
|
|
COPY Caddyfile.docker /etc/caddy/Caddyfile
|
|
|
|
EXPOSE 1337
|
|
|
|
CMD ["caddy", "run", "--config", "/etc/caddy/Caddyfile"] |