Skip to content

Commit

Permalink
feat: dragonwell java (8,11,17)(#55)
Browse files Browse the repository at this point in the history
  • Loading branch information
ISNing committed Sep 23, 2023
1 parent 550395f commit 1b13dd5
Show file tree
Hide file tree
Showing 6 changed files with 156 additions and 0 deletions.
55 changes: 55 additions & 0 deletions .github/workflows/java-dragonwell.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
name: build java_dragonwell
on:
workflow_dispatch:
schedule:
- cron: "0 17 1,15 * *" # bi-weekly on 1st and 15th calendar day at 17:00
push:
branches:
- main
paths:
- java-dragonwell/**

permissions:
actions: read
packages: write

concurrency:
group: java-dragonwell-${{ github.ref }}-1
cancel-in-progress: true

jobs:
build_and_push:
name: "java_${{ matrix.tag }}_dragonwell"
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
tag:
- 8
- 11
- 17
steps:
- name: Git checkout for Github repository workspace
uses: actions/checkout@v3

- name: Setup Docker buildx
uses: docker/setup-buildx-action@v3
with:
buildkitd-flags: --debug

- name: Login to registry
uses: docker/login-action@v3
with:
registry: ghcr.io
username: ${{ github.repository_owner }}
password: ${{ secrets.GITHUB_TOKEN }}

- name: Build and push image
uses: docker/build-push-action@v5
with:
context: ./java-dragonwell
file: ./java-dragonwell/${{ matrix.tag }}/Dockerfile
platforms: linux/amd64, linux/arm64
push: true
tags: |
ghcr.io/software-noob/pterodactyl-images:java_${{ matrix.tag }}_dragonwell
10 changes: 10 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ Navigate to `Admin Panel -> Nests -> Select your egg`. Add Docker image URL(s) f
| [Java Eclipse Temurin](https://github.com/Software-Noob/pterodactyl-images#java-eclipse-temurin-amd64arm64) | AMD64, ARM64 |
| [Java GraalVM](https://github.com/Software-Noob/pterodactyl-images#java-graalvm-amd64arm64) | AMD64, ARM64 |
| [Java OpenJ9](https://github.com/Software-Noob/pterodactyl-images#java-openj9-amd64) | AMD64 |
| [Java Dragonwell](https://github.com/Software-Noob/pterodactyl-images#java-dragonwell-amd64arm64) | AMD64, ARM64 |
| [Java Shenandoah](https://github.com/Software-Noob/pterodactyl-images#java-shenandoah-amd64arm64) | AMD64, ARM64 |
| [Node.js](https://github.com/Software-Noob/pterodactyl-images#nodejs-amd64arm64) | AMD64, ARM64 |
| [Python](https://github.com/Software-Noob/pterodactyl-images#python-amd64arm64) | AMD64, ARM64 |
Expand Down Expand Up @@ -95,6 +96,15 @@ Navigate to `Admin Panel -> Nests -> Select your egg`. Add Docker image URL(s) f
- [Java 18 OpenJ9](https://github.com/Software-Noob/pterodactyl-images/tree/main/java-openj9/18)
- `ghcr.io/software-noob/pterodactyl-images:java_18_openj9`

### Java Dragonwell [AMD64/ARM64]

- [Java 8 Dragonwell](https://github.com/Software-Noob/pterodactyl-images/tree/main/java-dragonwell/8)
- `ghcr.io/software-noob/pterodactyl-images:java_8_dragonwell`
- [Java 11 Dragonwell](https://github.com/Software-Noob/pterodactyl-images/tree/main/java-dragonwell/11)
- `ghcr.io/software-noob/pterodactyl-images:java_11_dragonwell`
- [Java 17 Dragonwell](https://github.com/Software-Noob/pterodactyl-images/tree/main/java-dragonwell/17)
- `ghcr.io/software-noob/pterodactyl-images:java_17_dragonwell`

### Java Shenandoah Nightly [AMD64/ARM64]

These are nightly builds. Shenandoah GC is by default shipped with Azul, Corretto and Temurin starting with Java 11
Expand Down
23 changes: 23 additions & 0 deletions java-dragonwell/11/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
FROM alibabadragonwell/dragonwell:11-ubuntu

LABEL author="Softwarenoob" maintainer="[email protected]"
LABEL org.opencontainers.image.source="https://github.com/Software-Noob/pterodactyl-images"
LABEL org.opencontainers.image.licenses="MIT"

RUN apt-get update -y \
&& apt-get install -y --no-install-recommends curl ca-certificates openssl git tar sqlite3 fontconfig libfreetype6 libstdc++6 lsof build-essential tzdata iproute2 locales \
&& apt-get clean \
&& rm -rf /var/lib/apt/lists/* \
&& useradd -m -d /home/container container \
&& locale-gen en_US.UTF-8

ENV LC_ALL=en_US.UTF-8
ENV LANG=en_US.UTF-8
ENV LANGUAGE=en_US.UTF-8

USER container
ENV USER=container HOME=/home/container
WORKDIR /home/container

COPY ./entrypoint.sh /entrypoint.sh
CMD [ "/bin/bash", "/entrypoint.sh" ]
23 changes: 23 additions & 0 deletions java-dragonwell/17/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
FROM alibabadragonwell/dragonwell:17-ubuntu

LABEL author="Softwarenoob" maintainer="[email protected]"
LABEL org.opencontainers.image.source="https://github.com/Software-Noob/pterodactyl-images"
LABEL org.opencontainers.image.licenses="MIT"

RUN apt-get update -y \
&& apt-get install -y --no-install-recommends curl ca-certificates openssl git tar sqlite3 fontconfig libfreetype6 libstdc++6 lsof build-essential tzdata iproute2 locales \
&& apt-get clean \
&& rm -rf /var/lib/apt/lists/* \
&& useradd -m -d /home/container container \
&& locale-gen en_US.UTF-8

ENV LC_ALL=en_US.UTF-8
ENV LANG=en_US.UTF-8
ENV LANGUAGE=en_US.UTF-8

USER container
ENV USER=container HOME=/home/container
WORKDIR /home/container

COPY ./entrypoint.sh /entrypoint.sh
CMD [ "/bin/bash", "/entrypoint.sh" ]
23 changes: 23 additions & 0 deletions java-dragonwell/8/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
FROM alibabadragonwell/dragonwell:8-ubuntu

LABEL author="Softwarenoob" maintainer="[email protected]"
LABEL org.opencontainers.image.source="https://github.com/Software-Noob/pterodactyl-images"
LABEL org.opencontainers.image.licenses="MIT"

RUN apt-get update -y \
&& apt-get install -y --no-install-recommends curl ca-certificates openssl git tar sqlite3 fontconfig libfreetype6 libstdc++6 lsof build-essential tzdata iproute2 locales \
&& apt-get clean \
&& rm -rf /var/lib/apt/lists/* \
&& useradd -m -d /home/container container \
&& locale-gen en_US.UTF-8

ENV LC_ALL=en_US.UTF-8
ENV LANG=en_US.UTF-8
ENV LANGUAGE=en_US.UTF-8

USER container
ENV USER=container HOME=/home/container
WORKDIR /home/container

COPY ./entrypoint.sh /entrypoint.sh
CMD [ "/bin/bash", "/entrypoint.sh" ]
22 changes: 22 additions & 0 deletions java-dragonwell/entrypoint.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
#!/bin/bash
cd /home/container || exit 1

# Configure colors
CYAN='\033[0;36m'
RESET_COLOR='\033[0m'

# Print Current Java Version
java -version

# Set environment variable that holds the Internal Docker IP
INTERNAL_IP=$(ip route get 1 | awk '{print $(NF-2);exit}')
export INTERNAL_IP

# Replace Startup Variables
# shellcheck disable=SC2086
MODIFIED_STARTUP=$(echo -e ${STARTUP} | sed -e 's/{{/${/g' -e 's/}}/}/g')
echo -e "${CYAN}STARTUP /home/container: ${MODIFIED_STARTUP} ${RESET_COLOR}"

# Run the Server
# shellcheck disable=SC2086
eval ${MODIFIED_STARTUP}

0 comments on commit 1b13dd5

Please sign in to comment.