FROM alpine:3.22.4 AS builder RUN apk update RUN apk update && apk upgrade && apk add --no-cache make gcc nodejs npm python3 g++ gcc libc-dev expat-dev libxml2-dev libxmlb-dev yarn nodejs-dev && rm -rf /var/cache/apk/* RUN mkdir -p /usr/share/vnctalk-hybrid-authenticator2 RUN mkdir -p /usr/share/vnctalk-hybrid-authenticator2/config ADD app /usr/share/vnctalk-hybrid-authenticator2/app COPY package.json /usr/share/vnctalk-hybrid-authenticator2/package.json COPY yarn.lock /usr/share/vnctalk-hybrid-authenticator2/yarn.lock COPY config.js /usr/share/vnctalk-hybrid-authenticator2/config/vnc-hybrid-authenticator.js RUN cd /usr/share/vnctalk-hybrid-authenticator2 && yarn install FROM alpine:3.22.4 RUN apk update && apk upgrade && apk add --no-cache nodejs npm expat libxml2 libxmlb && rm -rf /var/cache/apk/* COPY --from=builder /usr/share/vnctalk-hybrid-authenticator2 /usr/share/vnctalk-hybrid-authenticator2 # Create non-root user and transfer ownership RUN addgroup -g 1001 vncuser && \ adduser -D -u 1001 -G vncuser vncuser USER vncuser LABEL org.opencontainers.image.source=https://github.com/vnc-biz/vnclagoon-images #RUN npm install /usr/share/vnctalk-hybrid-authenticator2/app CMD ["node", "/usr/share/vnctalk-hybrid-authenticator2/app/app.js"]