From f7c0cbbb5f0f7bcf1d5caf0ee3eb51558919bcd0 Mon Sep 17 00:00:00 2001 From: Matthew Penner Date: Thu, 1 Apr 2021 09:18:04 -0600 Subject: [PATCH] add node images --- .github/workflows/docker-publish.yml | 3 ++ java10/Dockerfile | 2 +- java11/Dockerfile | 2 +- java12/Dockerfile | 2 +- java13/Dockerfile | 2 +- java14/Dockerfile | 2 +- java15/Dockerfile | 2 +- java16/Dockerfile | 2 +- java7/Dockerfile | 2 +- java8/Dockerfile | 2 +- java9/Dockerfile | 2 +- node12/Dockerfile | 38 ++++++++++++++++++++++++ node12/entrypoint.sh | 44 ++++++++++++++++++++++++++++ node14/Dockerfile | 38 ++++++++++++++++++++++++ node14/entrypoint.sh | 44 ++++++++++++++++++++++++++++ node15/Dockerfile | 38 ++++++++++++++++++++++++ node15/entrypoint.sh | 44 ++++++++++++++++++++++++++++ 17 files changed, 259 insertions(+), 10 deletions(-) create mode 100644 node12/Dockerfile create mode 100644 node12/entrypoint.sh create mode 100644 node14/Dockerfile create mode 100644 node14/entrypoint.sh create mode 100644 node15/Dockerfile create mode 100644 node15/entrypoint.sh diff --git a/.github/workflows/docker-publish.yml b/.github/workflows/docker-publish.yml index ba560a1..3ea6d7c 100644 --- a/.github/workflows/docker-publish.yml +++ b/.github/workflows/docker-publish.yml @@ -31,6 +31,9 @@ jobs: - "java14" - "java15" - "java16" + - "node12" + - "node14" + - "node15" - "source" - "source-install" diff --git a/java10/Dockerfile b/java10/Dockerfile index 48c2109..7b032cd 100644 --- a/java10/Dockerfile +++ b/java10/Dockerfile @@ -27,7 +27,7 @@ LABEL author="Matthew Penner" maintainer="matthew@pterodactyl.io" LABEL org.opencontainers.image.source="https://github.com/matthewpi/images" LABEL org.opencontainers.image.licenses=MIT -RUN apk add --update --no-cache curl ca-certificates openssl git tar bash sqlite fontconfig tzdata \ +RUN apk add --update --no-cache ca-certificates curl fontconfig git openssl sqlite tar tzdata \ && adduser -D -h /home/container container USER container diff --git a/java11/Dockerfile b/java11/Dockerfile index 61bf0c3..57e7850 100644 --- a/java11/Dockerfile +++ b/java11/Dockerfile @@ -27,7 +27,7 @@ LABEL author="Matthew Penner" maintainer="matthew@pterodactyl.io" LABEL org.opencontainers.image.source="https://github.com/matthewpi/images" LABEL org.opencontainers.image.licenses=MIT -RUN apk add --update --no-cache curl ca-certificates openssl git tar bash sqlite fontconfig tzdata \ +RUN apk add --update --no-cache ca-certificates curl fontconfig git openssl sqlite tar tzdata \ && adduser -D -h /home/container container USER container diff --git a/java12/Dockerfile b/java12/Dockerfile index d5426b7..2b23677 100644 --- a/java12/Dockerfile +++ b/java12/Dockerfile @@ -27,7 +27,7 @@ LABEL author="Matthew Penner" maintainer="matthew@pterodactyl.io" LABEL org.opencontainers.image.source="https://github.com/matthewpi/images" LABEL org.opencontainers.image.licenses=MIT -RUN apk add --update --no-cache curl ca-certificates openssl git tar bash sqlite fontconfig tzdata \ +RUN apk add --update --no-cache ca-certificates curl fontconfig git openssl sqlite tar tzdata \ && adduser -D -h /home/container container USER container diff --git a/java13/Dockerfile b/java13/Dockerfile index 91c46af..f49beac 100644 --- a/java13/Dockerfile +++ b/java13/Dockerfile @@ -27,7 +27,7 @@ LABEL author="Matthew Penner" maintainer="matthew@pterodactyl.io" LABEL org.opencontainers.image.source="https://github.com/matthewpi/images" LABEL org.opencontainers.image.licenses=MIT -RUN apk add --update --no-cache curl ca-certificates openssl git tar bash sqlite fontconfig tzdata \ +RUN apk add --update --no-cache ca-certificates curl fontconfig git openssl sqlite tar tzdata \ && adduser -D -h /home/container container USER container diff --git a/java14/Dockerfile b/java14/Dockerfile index 18a5216..c2755c6 100644 --- a/java14/Dockerfile +++ b/java14/Dockerfile @@ -27,7 +27,7 @@ LABEL author="Matthew Penner" maintainer="matthew@pterodactyl.io" LABEL org.opencontainers.image.source="https://github.com/matthewpi/images" LABEL org.opencontainers.image.licenses=MIT -RUN apk add --update --no-cache curl ca-certificates openssl git tar bash sqlite fontconfig tzdata \ +RUN apk add --update --no-cache ca-certificates curl fontconfig git openssl sqlite tar tzdata \ && adduser -D -h /home/container container USER container diff --git a/java15/Dockerfile b/java15/Dockerfile index 362d4ba..d9dd7fd 100644 --- a/java15/Dockerfile +++ b/java15/Dockerfile @@ -27,7 +27,7 @@ LABEL author="Matthew Penner" maintainer="matthew@pterodactyl.io" LABEL org.opencontainers.image.source="https://github.com/matthewpi/images" LABEL org.opencontainers.image.licenses=MIT -RUN apk add --update --no-cache curl ca-certificates openssl git tar bash sqlite fontconfig tzdata \ +RUN apk add --update --no-cache ca-certificates curl fontconfig git openssl sqlite tar tzdata \ && adduser -D -h /home/container container USER container diff --git a/java16/Dockerfile b/java16/Dockerfile index b3742e7..b27a02a 100644 --- a/java16/Dockerfile +++ b/java16/Dockerfile @@ -27,7 +27,7 @@ LABEL author="Matthew Penner" maintainer="matthew@pterodactyl.io" LABEL org.opencontainers.image.source="https://github.com/matthewpi/images" LABEL org.opencontainers.image.licenses=MIT -RUN apk add --update --no-cache curl ca-certificates openssl git tar bash sqlite fontconfig tzdata \ +RUN apk add --update --no-cache ca-certificates curl fontconfig git openssl sqlite tar tzdata \ && adduser -D -h /home/container container USER container diff --git a/java7/Dockerfile b/java7/Dockerfile index ac81d30..e22a7ca 100644 --- a/java7/Dockerfile +++ b/java7/Dockerfile @@ -27,7 +27,7 @@ LABEL author="Matthew Penner" maintainer="matthew@pterodactyl.io" LABEL org.opencontainers.image.source="https://github.com/matthewpi/images" LABEL org.opencontainers.image.licenses=MIT -RUN apk add --update --no-cache curl ca-certificates openssl git tar bash sqlite fontconfig tzdata \ +RUN apk add --update --no-cache ca-certificates curl fontconfig git openssl sqlite tar tzdata \ && adduser -D -h /home/container container USER container diff --git a/java8/Dockerfile b/java8/Dockerfile index dafa19a..48f66e5 100644 --- a/java8/Dockerfile +++ b/java8/Dockerfile @@ -27,7 +27,7 @@ LABEL author="Matthew Penner" maintainer="matthew@pterodactyl.io" LABEL org.opencontainers.image.source="https://github.com/matthewpi/images" LABEL org.opencontainers.image.licenses=MIT -RUN apk add --update --no-cache curl ca-certificates openssl git tar bash sqlite fontconfig tzdata \ +RUN apk add --update --no-cache ca-certificates curl fontconfig git openssl sqlite tar tzdata \ && adduser -D -h /home/container container USER container diff --git a/java9/Dockerfile b/java9/Dockerfile index 29c553b..4c60320 100644 --- a/java9/Dockerfile +++ b/java9/Dockerfile @@ -27,7 +27,7 @@ LABEL author="Matthew Penner" maintainer="matthew@pterodactyl.io" LABEL org.opencontainers.image.source="https://github.com/matthewpi/images" LABEL org.opencontainers.image.licenses=MIT -RUN apk add --update --no-cache curl ca-certificates openssl git tar bash sqlite fontconfig tzdata \ +RUN apk add --update --no-cache ca-certificates curl fontconfig git openssl sqlite tar tzdata \ && adduser -D -h /home/container container USER container diff --git a/node12/Dockerfile b/node12/Dockerfile new file mode 100644 index 0000000..37da987 --- /dev/null +++ b/node12/Dockerfile @@ -0,0 +1,38 @@ +# +# Copyright (c) 2021 Matthew Penner +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the "Software"), to deal +# in the Software without restriction, including without limitation the rights +# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in all +# copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. +# + +FROM --platform=$BUILDPLATFORM node:12-alpine + +LABEL author="Matthew Penner" maintainer="matthew@pterodactyl.io" + +LABEL org.opencontainers.image.source="https://github.com/matthewpi/images" +LABEL org.opencontainers.image.licenses=MIT + +RUN apk add --update --no-cache ca-certificates curl ffmpeg git openssl sqlite tar tzdata \ + && adduser -D -h /home/container container + +USER container +ENV USER=container HOME=/home/container +WORKDIR /home/container + +COPY ./entrypoint.sh /entrypoint.sh +CMD [ "/bin/ash", "/entrypoint.sh" ] diff --git a/node12/entrypoint.sh b/node12/entrypoint.sh new file mode 100644 index 0000000..0e09cd6 --- /dev/null +++ b/node12/entrypoint.sh @@ -0,0 +1,44 @@ +#!/bin/ash + +# +# Copyright (c) 2021 Matthew Penner +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the "Software"), to deal +# in the Software without restriction, including without limitation the rights +# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in all +# copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. +# + +# Default the TZ environment variable to UTC. +TZ=${TZ:-UTC} +export TZ + +# Switch to the container's working directory +cd /home/container + +# Set environment variable that holds the Internal Docker IP +export INTERNAL_IP=`ip route get 1 | awk '{print $NF;exit}'` + +# Print Node.js version +node -v + +# Replace variables in the startup command +MODIFIED_STARTUP=`eval echo $(echo ${STARTUP} | sed -e 's/{{/${/g' -e 's/}}/}/g')` +printf '\033[1m\033[33mcontainer@pterodactyl~ \033[0m' +echo "${MODIFIED_STARTUP}" + +# Run the startup command +exec ${MODIFIED_STARTUP} diff --git a/node14/Dockerfile b/node14/Dockerfile new file mode 100644 index 0000000..1c1b68d --- /dev/null +++ b/node14/Dockerfile @@ -0,0 +1,38 @@ +# +# Copyright (c) 2021 Matthew Penner +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the "Software"), to deal +# in the Software without restriction, including without limitation the rights +# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in all +# copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. +# + +FROM --platform=$BUILDPLATFORM node:14-alpine + +LABEL author="Matthew Penner" maintainer="matthew@pterodactyl.io" + +LABEL org.opencontainers.image.source="https://github.com/matthewpi/images" +LABEL org.opencontainers.image.licenses=MIT + +RUN apk add --update --no-cache ca-certificates curl ffmpeg git openssl sqlite tar tzdata \ + && adduser -D -h /home/container container + +USER container +ENV USER=container HOME=/home/container +WORKDIR /home/container + +COPY ./entrypoint.sh /entrypoint.sh +CMD [ "/bin/ash", "/entrypoint.sh" ] diff --git a/node14/entrypoint.sh b/node14/entrypoint.sh new file mode 100644 index 0000000..0e09cd6 --- /dev/null +++ b/node14/entrypoint.sh @@ -0,0 +1,44 @@ +#!/bin/ash + +# +# Copyright (c) 2021 Matthew Penner +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the "Software"), to deal +# in the Software without restriction, including without limitation the rights +# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in all +# copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. +# + +# Default the TZ environment variable to UTC. +TZ=${TZ:-UTC} +export TZ + +# Switch to the container's working directory +cd /home/container + +# Set environment variable that holds the Internal Docker IP +export INTERNAL_IP=`ip route get 1 | awk '{print $NF;exit}'` + +# Print Node.js version +node -v + +# Replace variables in the startup command +MODIFIED_STARTUP=`eval echo $(echo ${STARTUP} | sed -e 's/{{/${/g' -e 's/}}/}/g')` +printf '\033[1m\033[33mcontainer@pterodactyl~ \033[0m' +echo "${MODIFIED_STARTUP}" + +# Run the startup command +exec ${MODIFIED_STARTUP} diff --git a/node15/Dockerfile b/node15/Dockerfile new file mode 100644 index 0000000..eca47cd --- /dev/null +++ b/node15/Dockerfile @@ -0,0 +1,38 @@ +# +# Copyright (c) 2021 Matthew Penner +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the "Software"), to deal +# in the Software without restriction, including without limitation the rights +# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in all +# copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. +# + +FROM --platform=$BUILDPLATFORM node:15-alpine + +LABEL author="Matthew Penner" maintainer="matthew@pterodactyl.io" + +LABEL org.opencontainers.image.source="https://github.com/matthewpi/images" +LABEL org.opencontainers.image.licenses=MIT + +RUN apk add --update --no-cache ca-certificates curl ffmpeg git openssl sqlite tar tzdata \ + && adduser -D -h /home/container container + +USER container +ENV USER=container HOME=/home/container +WORKDIR /home/container + +COPY ./entrypoint.sh /entrypoint.sh +CMD [ "/bin/ash", "/entrypoint.sh" ] diff --git a/node15/entrypoint.sh b/node15/entrypoint.sh new file mode 100644 index 0000000..0e09cd6 --- /dev/null +++ b/node15/entrypoint.sh @@ -0,0 +1,44 @@ +#!/bin/ash + +# +# Copyright (c) 2021 Matthew Penner +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the "Software"), to deal +# in the Software without restriction, including without limitation the rights +# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in all +# copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. +# + +# Default the TZ environment variable to UTC. +TZ=${TZ:-UTC} +export TZ + +# Switch to the container's working directory +cd /home/container + +# Set environment variable that holds the Internal Docker IP +export INTERNAL_IP=`ip route get 1 | awk '{print $NF;exit}'` + +# Print Node.js version +node -v + +# Replace variables in the startup command +MODIFIED_STARTUP=`eval echo $(echo ${STARTUP} | sed -e 's/{{/${/g' -e 's/}}/}/g')` +printf '\033[1m\033[33mcontainer@pterodactyl~ \033[0m' +echo "${MODIFIED_STARTUP}" + +# Run the startup command +exec ${MODIFIED_STARTUP}