first commit
This commit is contained in:
55
build.sh
Normal file
55
build.sh
Normal file
@ -0,0 +1,55 @@
|
||||
#!/bin/bash
|
||||
# 2023-08-09
|
||||
# ----------------------------------
|
||||
# Pterodactyl Core Dockerfile Builder
|
||||
# Environment: Java / GraalVM
|
||||
# Minimum Panel Version: 1.7.0
|
||||
# ----------------------------------
|
||||
|
||||
clear
|
||||
cd "$(dirname "$0")" || exit 1
|
||||
|
||||
# Define what version of GraalVM
|
||||
GRAALVM_YEAR_VERSION=20
|
||||
GRAALVM_MAJOR_VERSION=0
|
||||
GRAALVM_MINOR_VERSION=2
|
||||
JAVA_VERSION=20
|
||||
JAVA_HOME=/opt/graalvm
|
||||
|
||||
# Setup for SDKMAN!
|
||||
GRAALVERSION=$GRAALVM_YEAR_VERSION.$GRAALVM_MAJOR_VERSION.$GRAALVM_MINOR_VERSION-graal
|
||||
SDKMAN=/root/.sdkman
|
||||
|
||||
# Docker image name and version
|
||||
IMAGE_BASE=zogg/graalvm
|
||||
IMAGE_NAME_LATEST=${IMAGE_BASE}:latest
|
||||
|
||||
# Update GraalVM version in relevant files
|
||||
find="GRAALVERSION"
|
||||
replace="$GRAALVERSION"
|
||||
sed "s/${find}/${replace}/g" files/_bashrc > files/bashrc
|
||||
sed "s/${find}/${replace}/g" files/_docker-java-home > files/docker-java-home
|
||||
sed "s/${find}/${replace}/g" files/_entrypoint.sh > files/entrypoint.sh
|
||||
|
||||
# Prepare for cross compile
|
||||
export DOCKER_DEFAULT_PLATFORM=linux/amd64
|
||||
export DOCKER_CLI_EXPERIMENTAL=enabled
|
||||
docker run --privileged --rm tonistiigi/binfmt --install all
|
||||
|
||||
# Build with no caching disabled
|
||||
docker buildx build --pull --no-cache \
|
||||
--platform=linux/amd64 \
|
||||
--output=type=docker \
|
||||
--build-arg TZ=Europe/Paris \
|
||||
--build-arg CONCURRENCY=$(nproc) \
|
||||
--build-arg GRAALVERSION=${GRAALVERSION} \
|
||||
--build-arg SDKMAN=${SDKMAN} \
|
||||
--build-arg GRAALVM_YEAR_VERSION=${GRAALVM_YEAR_VERSION} \
|
||||
--build-arg GRAALVM_MAJOR_VERSION=${GRAALVM_MAJOR_VERSION} \
|
||||
--build-arg GRAALVM_MINOR_VERSION=${GRAALVM_MINOR_VERSION} \
|
||||
--build-arg JAVA_VERSION=${JAVA_VERSION} \
|
||||
--build-arg JAVA_HOME=${JAVA_HOME} \
|
||||
-t "${IMAGE_NAME_LATEST}" \
|
||||
. 2>&1 | tee build.log
|
||||
|
||||
exit 0
|
Reference in New Issue
Block a user