FROM node:20-alpine RUN apk add --no-cache --virtual=build-dependencies build-base git python3-dev py3-setuptools && \ apk add --no-cache yarn su-exec WORKDIR /var/opt/hardlounge-src ENV THELOUNGE_HOME /var/opt/hardlounge COPY --chown=node:node package.json yarn.lock . USER node RUN yarn install COPY --chown=node:node . . RUN NODE_ENV=production yarn build && \ yarn link && \ yarn --non-interactive cache clean && \ ln -s /var/opt/hardlounge-src/index.js /var/opt/hardlounge-src/hardlounge USER root RUN apk del --purge build-dependencies && \ mkdir -p /var/opt/hardlounge/logs /var/opt/hardlounge/users /var/opt/hardlounge/packages && \ chown -R node:node /var/opt/hardlounge COPY --chmod=755 docker-entrypoint.sh /docker-entrypoint.sh EXPOSE 9000 ENTRYPOINT ["/docker-entrypoint.sh"] CMD ["/var/opt/hardlounge-src/hardlounge", "start"]