FROM docker.io/library/node:18-alpine AS build_node_modules # Update npm to latest RUN npm install -g npm@latest # Copy Web UI COPY src /app WORKDIR /app RUN npm ci --omit=dev &&\ mv node_modules /node_modules # Copy build result to a new image. # This saves a lot of disk space. FROM ghcr.io/vikashloomba/capmvm-k8s-os:1.23.5 HEALTHCHECK CMD /usr/bin/timeout 5s /bin/sh -c "/usr/bin/wg show | /bin/grep -q interface || exit 1" --interval=1m --timeout=5s --retries=3 COPY --from=build_node_modules /app /app # Move node_modules one directory up, so during development # we don't have to mount it in a volume. # This results in much faster reloading! # # Also, some node_modules might be native, and # the architecture & OS of your development machine might differ # than what runs inside of docker. COPY --from=build_node_modules /node_modules /node_modules # Copy the needed wg-password scripts COPY --from=build_node_modules /app/wgpw.sh /bin/wgpw RUN chmod +x /bin/wgpw