# syntax=docker/dockerfile:1 # Generated by Coolpack # Provider: node, Framework: vite, Output: static FROM node:24-slim AS builder WORKDIR /app # Custom packages: curl, wget, ffmpeg RUN apt-get update && apt-get install -y --no-install-recommends \ curl \ wget \ ffmpeg \ && rm -rf /var/lib/apt/lists/* COPY package.json package-lock.json* ./ RUN --mount=type=cache,target=/root/.npm npm ci COPY . . RUN --mount=type=cache,target=/app/node_modules/.vite --mount=type=cache,target=/app/node_modules/.cache npm run build FROM caddy:alpine AS runner RUN addgroup --system --gid 1001 coolgroup && \ adduser --system --uid 1001 -G coolgroup cooluser COPY --from=builder /app/dist /srv RUN chown -R cooluser:coolgroup /srv USER cooluser EXPOSE 80 CMD ["caddy", "file-server", "--root", "/srv", "--listen", ":80"]