# ipx-web (#203): the frontend, built from web/ and served by Caddy, which passes the API to ipx. # Built from the repo's root: docker buildx build -f Dockerfile.web . FROM node:22-slim AS build WORKDIR /src COPY package.json package-lock.json ./ RUN npm ci --omit=dev COPY web ./web RUN node web/build.mjs /dist FROM caddy:2 COPY web/Caddyfile /etc/caddy/Caddyfile COPY --from=build /dist /srv EXPOSE 8080