This commit is contained in:
j3d1 2026-08-17 01:45:14 +02:00
parent 0f51f6e33f
commit 419893d93d
11 changed files with 925 additions and 72 deletions

View file

@ -0,0 +1,18 @@
# Build-only image for the Vue frontend.
# It is never run as a service: ansible builds this image once, runs it
# with the host output directory bind-mounted at /output, the container
# copies the compiled static build into it, and exits. Nginx on the host
# then serves that directory directly.
FROM node:20-alpine AS build
WORKDIR /app
COPY package.json package-lock.json ./
COPY extras/ ./extras/
RUN npm ci
COPY . .
RUN npm run build
FROM alpine AS export
COPY --from=build /app/dist /dist
VOLUME /output
CMD ["sh", "-c", "rm -rf /output/* && cp -a /dist/. /output/"]