FROM alpine:3.23.4 AS builder


RUN apk update && apk upgrade && apk add --no-cache make gcc nodejs expat-static expat-dev npm python3 g++ gcc libc-dev expat-dev libxml2-dev libxmlb-dev libpq libpq-dev yarn nodejs-dev && rm -rf /var/cache/apk/*

RUN mkdir -p /usr/share/prosody-muc-rest && mkdir -p /usr/share/prosody-muc-rest/config
ADD app /usr/share/prosody-muc-rest/app

COPY package.json /usr/share/prosody-muc-rest/package.json
COPY yarn.lock /usr/share/prosody-muc-rest/yarn.lock


RUN cd /usr/share/prosody-muc-rest && yarn install

FROM alpine:3.23.4

RUN apk update && apk upgrade && apk add --no-cache nodejs npm expat libxml2 libpq libxmlb && rm -rf /var/cache/apk/*

COPY --from=builder /usr/share/prosody-muc-rest /usr/share/prosody-muc-rest
COPY config/prosody-muc-rest.js /usr/share/prosody-muc-rest/config/prosody-muc-rest.js

RUN addgroup -g 1001 vncuser && \
    adduser -D -u 1001 -G vncuser vncuser

USER vncuser

CMD ["node", "/usr/share/prosody-muc-rest/app/app.js"]

