diff --git a/.gitea/workflows/publish.yaml b/.gitea/workflows/publish.yaml index 558acee..4d5fbec 100644 --- a/.gitea/workflows/publish.yaml +++ b/.gitea/workflows/publish.yaml @@ -61,3 +61,11 @@ jobs: context: ./gitea-runner file: ./gitea-runner/NodeWithYarnLatestDockerfile tags: fascinated/docker-images:node-yarn-latest + + - name: Build and Push (Java8 with Firefox) + uses: docker/build-push-action@v4 + with: + push: true + context: ./java8-with-firefox + file: ./java8-with-firefox/Dockerfile + tags: fascinated/docker-images:node-yarn-latest diff --git a/gitea-runner/java8-with-firefox/Dockerfile b/gitea-runner/java8-with-firefox/Dockerfile new file mode 100644 index 0000000..bf2c62d --- /dev/null +++ b/gitea-runner/java8-with-firefox/Dockerfile @@ -0,0 +1,34 @@ +# Latest Ubuntu image +FROM eclipse-temurin:8u312-b07-jdk-focal + +ENV DEBIAN_FRONTEND=noninteractive + +RUN apt update -y \ + && apt install -y \ + curl \ + lsof \ + ca-certificates \ + openssl \ + git \ + tar \ + sqlite3 \ + fontconfig \ + tzdata \ + iproute2 \ + libfreetype6 \ + tini \ + firefox + +ENV DISPLAY=:0 + +RUN useradd -m -d /home/container -s /bin/bash container +USER container +ENV USER=container HOME=/home/container +WORKDIR /home/container + +STOPSIGNAL SIGINT + +COPY --chown=container:container ./../entrypoint.sh /entrypoint.sh +RUN chmod +x /entrypoint.sh +ENTRYPOINT ["/usr/bin/tini", "-g", "--"] +CMD ["/entrypoint.sh"] \ No newline at end of file diff --git a/gitea-runner/java8-with-firefox/entrtpoint.sh b/gitea-runner/java8-with-firefox/entrtpoint.sh new file mode 100644 index 0000000..45aaebd --- /dev/null +++ b/gitea-runner/java8-with-firefox/entrtpoint.sh @@ -0,0 +1,49 @@ +#!/bin/bash + +# +# 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 + +# Set environment variable that holds the Internal Docker IP +INTERNAL_IP=$(ip route get 1 | awk '{print $(NF-2);exit}') +export INTERNAL_IP + +# Switch to the container's working directory +cd /home/container || exit 1 + +# Print Java version +printf "\033[1m\033[33mcontainer@pterodactyl~ \033[0mjava -version\n" +java -version + +# Convert all of the "{{VARIABLE}}" parts of the command into the expected shell +# variable format of "${VARIABLE}" before evaluating the string and automatically +# replacing the values. +PARSED=$(echo "${STARTUP}" | sed -e 's/{{/${/g' -e 's/}}/}/g' | eval echo "$(cat -)") + +# Display the command we're running in the output, and then execute it with the env +# from the container itself. +printf "\033[1m\033[33mcontainer@pterodactyl~ \033[0m%s\n" "$PARSED" +# shellcheck disable=SC2086 +eval ${PARSED} \ No newline at end of file