diff --git a/language-containers/java/Containerfile b/language-containers/java/Containerfile index ea1a252..72202d9 100644 --- a/language-containers/java/Containerfile +++ b/language-containers/java/Containerfile @@ -16,5 +16,16 @@ LABEL com.github.containers.toolbox="true" \ maintainer="Wyatt J. Miller " \ vendor="Miller Web Solutions" +# Set environment variables +ENV GRADLE_VERSION=8.6 +ENV GRADLE_HOME=/opt/gradle +ENV PATH="${PATH}:${GRADLE_HOME}/bin" + # Install .NET and related tools RUN dnf install java-21-openjdk java-21-openjdk-devel -y -q && dnf clean all + +# Download and install Gradle +RUN wget -q "https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-bin.zip" -O gradle.zip && \ + unzip -q gradle.zip -d /opt && \ + mv "/opt/gradle-${GRADLE_VERSION}" "${GRADLE_HOME}" && \ + rm gradle.zip diff --git a/language-containers/java/Containerfile.java11 b/language-containers/java/Containerfile.java11 index a0177ce..ea0c7c3 100644 --- a/language-containers/java/Containerfile.java11 +++ b/language-containers/java/Containerfile.java11 @@ -16,5 +16,16 @@ LABEL com.github.containers.toolbox="true" \ maintainer="Wyatt J. Miller " \ vendor="Miller Web Solutions" +# Set environment variables +ENV GRADLE_VERSION=8.6 +ENV GRADLE_HOME=/opt/gradle +ENV PATH="${PATH}:${GRADLE_HOME}/bin" + # Install Java 11 RUN dnf install java-11-openjdk java-11-openjdk-devel -y -q && dnf clean all + +# Download and install Gradle +RUN wget -q "https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-bin.zip" -O gradle.zip && \ + unzip -q gradle.zip -d /opt && \ + mv "/opt/gradle-${GRADLE_VERSION}" "${GRADLE_HOME}" && \ + rm gradle.zip diff --git a/language-containers/java/Containerfile.java17 b/language-containers/java/Containerfile.java17 index 4b42056..2556b0f 100644 --- a/language-containers/java/Containerfile.java17 +++ b/language-containers/java/Containerfile.java17 @@ -16,5 +16,16 @@ LABEL com.github.containers.toolbox="true" \ maintainer="Wyatt J. Miller " \ vendor="Miller Web Solutions" +# Set environment variables +ENV GRADLE_VERSION=8.6 +ENV GRADLE_HOME=/opt/gradle +ENV PATH="${PATH}:${GRADLE_HOME}/bin" + # Install Java 17 RUN dnf install java-17-openjdk java-17-openjdk-devel -y -q && dnf clean all + +# Download and install Gradle +RUN wget -q "https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-bin.zip" -O gradle.zip && \ + unzip -q gradle.zip -d /opt && \ + mv "/opt/gradle-${GRADLE_VERSION}" "${GRADLE_HOME}" && \ + rm gradle.zip diff --git a/language-containers/kotlin/Containerfile b/language-containers/kotlin/Containerfile new file mode 100644 index 0000000..f7c5aca --- /dev/null +++ b/language-containers/kotlin/Containerfile @@ -0,0 +1,41 @@ +# Base Kotlin 1.9.2x image +# Written by Wyatt J. Miller, 2024 +# This image is opinionated, but you're welcome to customize as much as you like + +# Get my custom base image from scm +FROM scm.wyattjmiller.com/wymiller/base_container:latest + +# Label it right, ya know? +ENV NAME=custom_base_kotlin_image VERSION=1.1 +LABEL com.github.containers.toolbox="true" \ + com.redhat.component="$NAME" \ + name="$NAME" \ + version="$VERSION" \ + usage="Wyatt's base Kotlin image" \ + summary="Wyatt's custom base Kotlin image" \ + maintainer="Wyatt J. Miller " \ + vendor="Miller Web Solutions" + +# Set environment variables +ENV KOTLIN_VERSION=1.9.23 +ENV KOTLIN_HOME=/usr/local/kotlin +ENV PATH="${PATH}:${KOTLIN_HOME}/bin" +ENV GRADLE_VERSION=8.6 +ENV GRADLE_HOME=/opt/gradle +ENV PATH="${PATH}:${GRADLE_HOME}/bin" + +# Install required packages +RUN dnf install -y -q wget unzip java-17-openjdk java-17-openjdk-devel && \ + dnf clean all + +# Download and install Kotlin +RUN wget -q "https://github.com/JetBrains/kotlin/releases/download/v${KOTLIN_VERSION}/kotlin-compiler-${KOTLIN_VERSION}.zip" -O kotlin.zip && \ + unzip -q kotlin.zip -d /usr/local && \ + mv /usr/local/kotlinc /usr/local/kotlin && \ + rm kotlin.zip + +# Download and install Gradle +RUN wget -q "https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-bin.zip" -O gradle.zip && \ + unzip -q gradle.zip -d /opt && \ + mv "/opt/gradle-${GRADLE_VERSION}" "${GRADLE_HOME}" && \ + rm gradle.zip diff --git a/specialty-containers/wine/Containerfile b/specialty-containers/wine/Containerfile new file mode 100644 index 0000000..c0e6cb9 --- /dev/null +++ b/specialty-containers/wine/Containerfile @@ -0,0 +1,19 @@ +# Wine container image +# Written by Wyatt J. Miller, 2023, 2024 +# This image is opinionated, but you're welcome to customize as much as you like + +# Start with the Fedora 39 image +FROM scm.wyattjmiller.com/wymiller/base_container:latest + +# Label it right, ya know? +ENV NAME=custom_wine_image VERSION=1.1 +LABEL com.github.containers.toolbox="true" \ + com.redhat.component="$NAME" \ + name="$NAME" \ + version="$VERSION" \ + usage="Wine image" \ + summary="Wyatt's custom Wine image" \ + maintainer="Wyatt J. Miller " + +# Install .NET and related tools +RUN dnf install wine -y