diff --git a/6.10/Dockerfile b/6.10/Dockerfile index 26cce8b..ba08316 100644 --- a/6.10/Dockerfile +++ b/6.10/Dockerfile @@ -1,5 +1,7 @@ FROM debian:bullseye-slim +ENV RC_VERSION 6.10.7 + ## Installing Node.js ENV NODE_ENV production ENV NODE_VERSION 14.21.3 @@ -48,8 +50,6 @@ RUN groupadd -r rocketchat \ VOLUME /app/uploads -ENV RC_VERSION 6.10.7 - WORKDIR /app RUN set -eux \ @@ -89,8 +89,7 @@ ENV DEPLOY_METHOD=docker-official \ MONGO_URL=mongodb://db:27017/meteor \ HOME=/tmp \ PORT=3000 \ - ROOT_URL=http://localhost:3000 \ - Accounts_AvatarStorePath=/app/uploads + ROOT_URL=http://localhost:3000 EXPOSE 3000 diff --git a/6.11/Dockerfile b/6.11/Dockerfile index 637c316..95db8a3 100644 --- a/6.11/Dockerfile +++ b/6.11/Dockerfile @@ -1,5 +1,7 @@ FROM debian:bullseye-slim +ENV RC_VERSION 6.11.3 + ## Installing Node.js ENV NODE_ENV production ENV NODE_VERSION 14.21.3 @@ -48,8 +50,6 @@ RUN groupadd -r rocketchat \ VOLUME /app/uploads -ENV RC_VERSION 6.11.3 - WORKDIR /app RUN set -eux \ @@ -89,8 +89,7 @@ ENV DEPLOY_METHOD=docker-official \ MONGO_URL=mongodb://db:27017/meteor \ HOME=/tmp \ PORT=3000 \ - ROOT_URL=http://localhost:3000 \ - Accounts_AvatarStorePath=/app/uploads + ROOT_URL=http://localhost:3000 EXPOSE 3000 diff --git a/6.12/Dockerfile b/6.12/Dockerfile index 75cbbd9..c74ef5d 100644 --- a/6.12/Dockerfile +++ b/6.12/Dockerfile @@ -1,5 +1,7 @@ FROM debian:bullseye-slim +ENV RC_VERSION 6.12.2 + ## Installing Node.js ENV NODE_ENV production ENV NODE_VERSION 14.21.3 @@ -48,8 +50,6 @@ RUN groupadd -r rocketchat \ VOLUME /app/uploads -ENV RC_VERSION 6.12.2 - WORKDIR /app RUN set -eux \ @@ -89,8 +89,7 @@ ENV DEPLOY_METHOD=docker-official \ MONGO_URL=mongodb://db:27017/meteor \ HOME=/tmp \ PORT=3000 \ - ROOT_URL=http://localhost:3000 \ - Accounts_AvatarStorePath=/app/uploads + ROOT_URL=http://localhost:3000 EXPOSE 3000 diff --git a/6.13/Dockerfile b/6.13/Dockerfile index 5f2f896..a8cffd0 100644 --- a/6.13/Dockerfile +++ b/6.13/Dockerfile @@ -1,5 +1,7 @@ FROM debian:bullseye-slim +ENV RC_VERSION 6.13.0 + ## Installing Node.js ENV NODE_ENV production ENV NODE_VERSION 14.21.3 @@ -48,8 +50,6 @@ RUN groupadd -r rocketchat \ VOLUME /app/uploads -ENV RC_VERSION 6.13.0 - WORKDIR /app RUN set -eux \ @@ -89,8 +89,7 @@ ENV DEPLOY_METHOD=docker-official \ MONGO_URL=mongodb://db:27017/meteor \ HOME=/tmp \ PORT=3000 \ - ROOT_URL=http://localhost:3000 \ - Accounts_AvatarStorePath=/app/uploads + ROOT_URL=http://localhost:3000 EXPOSE 3000 diff --git a/6.9/Dockerfile b/6.9/Dockerfile index 913d732..f69b8aa 100644 --- a/6.9/Dockerfile +++ b/6.9/Dockerfile @@ -1,5 +1,7 @@ FROM debian:bullseye-slim +ENV RC_VERSION 6.9.7 + ## Installing Node.js ENV NODE_ENV production ENV NODE_VERSION 14.21.3 @@ -48,8 +50,6 @@ RUN groupadd -r rocketchat \ VOLUME /app/uploads -ENV RC_VERSION 6.9.7 - WORKDIR /app RUN set -eux \ @@ -89,8 +89,7 @@ ENV DEPLOY_METHOD=docker-official \ MONGO_URL=mongodb://db:27017/meteor \ HOME=/tmp \ PORT=3000 \ - ROOT_URL=http://localhost:3000 \ - Accounts_AvatarStorePath=/app/uploads + ROOT_URL=http://localhost:3000 EXPOSE 3000 diff --git a/7.0/Dockerfile b/7.0/Dockerfile index 0eeb757..aebe004 100644 --- a/7.0/Dockerfile +++ b/7.0/Dockerfile @@ -1,5 +1,7 @@ FROM debian:bookworm-slim +ENV RC_VERSION 7.0.0 + ## Installing Node.js ENV NODE_ENV production ENV NODE_VERSION 20.17.0 @@ -13,7 +15,7 @@ RUN ARCH= && dpkgArch="$(dpkg --print-architecture)" \ arm64) ARCH='arm64';; \ armhf) ARCH='armv7l';; \ i386) ARCH='x86';; \ - *) echo "unsupported NodeJS architecture"; exit 1 ;; \ + *) echo "unsupported architecture"; exit 1 ;; \ esac \ # use pre-existing gpg directory, see https://github.com/nodejs/docker-node/pull/1895#issuecomment-1550389150 && export GNUPGHOME="$(mktemp -d)" \ @@ -90,8 +92,6 @@ RUN groupadd -r rocketchat \ VOLUME /app/uploads -ENV RC_VERSION 7.0.0 - WORKDIR /app RUN set -eux \ @@ -131,8 +131,7 @@ ENV DEPLOY_METHOD=docker-official \ MONGO_URL=mongodb://db:27017/meteor \ HOME=/tmp \ PORT=3000 \ - ROOT_URL=http://localhost:3000 \ - Accounts_AvatarStorePath=/app/uploads + ROOT_URL=http://localhost:3000 EXPOSE 3000 diff --git a/6.8/Dockerfile b/7.1/Dockerfile similarity index 52% rename from 6.8/Dockerfile rename to 7.1/Dockerfile index fc8f9a6..e0ccea5 100644 --- a/6.8/Dockerfile +++ b/7.1/Dockerfile @@ -1,36 +1,80 @@ -FROM debian:bullseye-slim +FROM debian:bookworm-slim + +ENV RC_VERSION 7.1.0 ## Installing Node.js ENV NODE_ENV production -ENV NODE_VERSION 14.21.3 +ENV NODE_VERSION 20.18.0 -# Node installation based on https://github.com/nodejs/docker-node/blob/66b46292a6e5dd5856b1d5204dc51547c80eb17a/12/buster-slim/Dockerfile -RUN ARCH="x64" \ - && set -eux \ - && apt-get update && apt-get install -y --no-install-recommends ca-certificates curl wget gnupg dirmngr xz-utils \ - && rm -rf /var/lib/apt/lists/* \ +# Node installation based on https://github.com/nodejs/docker-node/blob/8483b3edd9cc2a38360d88d360e3093d657ac3fe/20/bookworm/Dockerfile +RUN ARCH= && dpkgArch="$(dpkg --print-architecture)" \ + && case "${dpkgArch##*-}" in \ + amd64) ARCH='x64';; \ + ppc64el) ARCH='ppc64le';; \ + s390x) ARCH='s390x';; \ + arm64) ARCH='arm64';; \ + armhf) ARCH='armv7l';; \ + i386) ARCH='x86';; \ + *) echo "unsupported architecture"; exit 1 ;; \ + esac \ + # use pre-existing gpg directory, see https://github.com/nodejs/docker-node/pull/1895#issuecomment-1550389150 + && export GNUPGHOME="$(mktemp -d)" \ + && set -ex \ + && apt-get update && apt-get install -y --no-install-recommends ca-certificates curl wget gnupg dirmngr xz-utils && rm -rf /var/lib/apt/lists/* \ + # gpg keys listed at https://github.com/nodejs/node#release-keys && for key in \ - 4ED778F539E3634C779C87C6D7062848A1AB005C \ - 94AE36675C464D64BAFA68DD7434390BDBE9B9C5 \ - 74F12602B6F1C4E913FAA37AD3A89613643B6201 \ - 71DCFD284A79C3B38668286BC97EC7A07EDE3FC1 \ - 8FCCA13FEF1D0C2E91008E09770F7A9A5AE15600 \ - C4F0DFFF4E8C1A8236409D08E73BC641CC11F4C8 \ - C82FA3AE1CBEDC6BE46B9360C43CEC45C17AB93C \ - DD8F2338BAE7501E3DD5AC78C273792F7D83545D \ - A48C2BEE680E841632CD4E44F07496B3EB3C1762 \ - 108F52B48DB57BB0CC439B2997B01419BD92F80A \ - B9E2F5981AA6E0CD28160D9FF13993A75599653C \ + 4ED778F539E3634C779C87C6D7062848A1AB005C \ + 141F07595B7B3FFE74309A937405533BE57C7D57 \ + 74F12602B6F1C4E913FAA37AD3A89613643B6201 \ + DD792F5973C6DE52C432CBDAC77ABFA00DDBF2B7 \ + CC68F5A3106FF448322E48ED27F5E38D5B0A215F \ + 8FCCA13FEF1D0C2E91008E09770F7A9A5AE15600 \ + 890C08DB8579162FEE0DF9DB8BEAB4DFCF555EF4 \ + C82FA3AE1CBEDC6BE46B9360C43CEC45C17AB93C \ + 108F52B48DB57BB0CC439B2997B01419BD92F80A \ + A363A499291CBBC940DD62E41F10027AF002F8B0 \ ; do \ - gpg --batch --keyserver hkps://keys.openpgp.org --recv-keys "$key" || \ - gpg --batch --keyserver keyserver.ubuntu.com --recv-keys "$key" ; \ + gpg --batch --keyserver hkps://keys.openpgp.org --recv-keys "$key" || \ + gpg --batch --keyserver keyserver.ubuntu.com --recv-keys "$key" ; \ done \ && curl -fsSLO --compressed "https://nodejs.org/dist/v$NODE_VERSION/node-v$NODE_VERSION-linux-$ARCH.tar.xz" \ && curl -fsSLO --compressed "https://nodejs.org/dist/v$NODE_VERSION/SHASUMS256.txt.asc" \ && gpg --batch --decrypt --output SHASUMS256.txt SHASUMS256.txt.asc \ + && gpgconf --kill all \ + && rm -rf "$GNUPGHOME" \ && grep " node-v$NODE_VERSION-linux-$ARCH.tar.xz\$" SHASUMS256.txt | sha256sum -c - \ && tar -xJf "node-v$NODE_VERSION-linux-$ARCH.tar.xz" -C /usr/local --strip-components=1 --no-same-owner \ && rm "node-v$NODE_VERSION-linux-$ARCH.tar.xz" SHASUMS256.txt.asc SHASUMS256.txt \ + && ln -s /usr/local/bin/node /usr/local/bin/nodejs \ + # smoke tests + && node --version \ + && npm --version \ + && apt-mark auto '.*' > /dev/null \ + && find /usr/local -type f -executable -exec ldd '{}' ';' \ + | awk '/=>/ { print $(NF-1) }' \ + | sort -u \ + | xargs -r dpkg-query --search \ + | cut -d: -f1 \ + | sort -u \ + | xargs -r apt-mark manual \ + && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false + +ENV DENO_VERSION=1.37.1 + +RUN ARCH= && dpkgArch="$(dpkg --print-architecture)" \ + && case "${dpkgArch##*-}" in \ + amd64) ARCH='x86_64';; \ + arm64) ARCH='aarch64';; \ + *) echo "unsupported Deno architecture"; exit 1 ;; \ + esac \ + && set -ex \ + && apt-get update && apt-get install -y --no-install-recommends ca-certificates curl unzip && rm -rf /var/lib/apt/lists/* \ + && curl -fsSL https://dl.deno.land/release/v${DENO_VERSION}/deno-${ARCH}-unknown-linux-gnu.zip \ + --output /tmp/deno.zip \ + && unzip /tmp/deno.zip -d /tmp \ + && rm /tmp/deno.zip \ + && chmod 755 /tmp/deno \ + && mv /tmp/deno /usr/local/bin/deno \ && apt-mark auto '.*' > /dev/null \ && find /usr/local -type f -executable -exec ldd '{}' ';' \ | awk '/=>/ { print $(NF-1) }' \ @@ -48,8 +92,6 @@ RUN groupadd -r rocketchat \ VOLUME /app/uploads -ENV RC_VERSION 6.8.7 - WORKDIR /app RUN set -eux \ @@ -89,8 +131,7 @@ ENV DEPLOY_METHOD=docker-official \ MONGO_URL=mongodb://db:27017/meteor \ HOME=/tmp \ PORT=3000 \ - ROOT_URL=http://localhost:3000 \ - Accounts_AvatarStorePath=/app/uploads + ROOT_URL=http://localhost:3000 EXPOSE 3000