# NOTE: image from quay.io (e.g. quay.io/fedora/fedora:36) is incompatible with Docker # (broken DNS resolution). If you want to take images from quay.io, use Podman FROM alpine ARG NODEJS_VERSION='16.9.0' ENV CNTROOT=/opt/ctnroot RUN dnf update -y \ && dnf install -y curl jq \ && dnf clean -y all WORKDIR ${CNTROOT} RUN ARCHIVE_FILE_NAME="node-v${NODEJS_VERSION}-linux-x64.tar.gz" \ && curl --silent --remote-name --location \ "https://nodejs.org/dist/v${NODEJS_VERSION}/${ARCHIVE_FILE_NAME}" \ && tar -vxz \ -C "${CNTROOT}" \ --strip 1 \ -f "./${ARCHIVE_FILE_NAME}" >/dev/null 2>&1 \ && rm -rf ${ARCHIVE_FILE_NAME} ENV \ HOME=/opt/ctnroot/src \ PATH=/opt/ctnroot/src/bin:/opt/ctnroot/bin:${PATH} WORKDIR ${HOME} COPY ./src/* ./ RUN npm install --production RUN groupadd --gid 2002 ctnrgroup \ && useradd --uid 1001 --system --gid 2002 --home-dir ${HOME} \ --shell /sbin/nologin --comment "ctnr user" \ ctnruser \ && chown -R 1001:2002 ${CNTROOT} USER 1001 ENTRYPOINT [ "node" ] CMD [ "./main.js", \ "--port", "8023" \ ] EXPOSE 8023