Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
109 changes: 67 additions & 42 deletions docker/README.md

Large diffs are not rendered by default.

38 changes: 19 additions & 19 deletions docker/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -98,7 +98,7 @@ tasks.register("buildEhrCronPlug", DockerBuildImage){
group 'DockerPlugin'
}

tasks.register("buildTomcat") { Task t ->
tasks.register("buildCranr") { Task t ->
doLast {
if (!project.hasProperty("nocache")){
ext.nocache = "false"
Expand All @@ -125,32 +125,32 @@ tasks.register("buildTomcat") { Task t ->
if (nocache.equals("true")){
println "building image without cache"
t.project.exec{
workingDir "$projectDir/tomcat"
workingDir "$projectDir/cranrnutils"
executable "docker"
args "build", ".", "--no-cache", "-t", "wnprcehr/tomcat:tomcat9_"+branch
args "build", "--platform","linux/arm64,linux/amd64" ,"--no-cache", "-t", "wnprcehr/cranrnutils:cranrnutils_"+branch, "."
}
}else{
t.project.exec{
workingDir "$projectDir/tomcat"
workingDir "$projectDir/cranrnutils"
executable "docker"
args "build", ".", "-t", "wnprcehr/tomcat:tomcat9_"+branch
args "build", "--platform","linux/arm64,linux/amd64" ,"-t", "wnprcehr/cranrnutils:cranrnutils_"+branch, "."
}
}

}else {
logger.warn 'Must provide docker string via command line. (ex. ./gradlew buildTomcat -PbranchName=22.11_fb)'
logger.warn 'Must provide docker string via command line. (ex. ./gradlew buildCranr -PbranchName=22.11_fb)'
}
}

}
configure(buildTomcat){
configure(buildCranr){
group 'Docker'
description 'Generates the Tomcat docker image (with R)'
dependsOn "checkDocker", "dockerLogin", "processbranchName"
onlyIf {buildType != ''}
}

tasks.register("buildTomcatPlug", DockerBuildImage){
tasks.register("buildCranrPlug", DockerBuildImage){
def dockerStr = providers.gradleProperty("branchName")
if (dockerStr.present){
// String branch = ""
Expand All @@ -169,13 +169,13 @@ tasks.register("buildTomcatPlug", DockerBuildImage){
break;
}
inputDir.set(file("tomcat/"))
images.add("wnprcehr/tomcat:tomcat9_${branch}")
images.add("wnprcehr/cranrnutils:cranrnutils_${branch}")

}else {
logger.warn 'Must provide docker string via command line. (ex. ./gradlew buildTomcatPlug -PbranchName=22.11_fb)'
logger.warn 'Must provide docker string via command line. (ex. ./gradlew buildCranrPlug -PbranchName=22.11_fb)'
}
}
configure(buildTomcatPlug){
configure(buildCranrPlug){
group 'DockerPlugin'
description 'Generates the Tomcat docker image (with R)'
dependsOn "checkDocker", "dockerLogin", "processbranchName"
Expand All @@ -184,7 +184,7 @@ configure(buildTomcatPlug){
//Building LabKey with hooks/build for consistancy with Docker Hub and used of environment variables duirng the build process
//Source: https://stackoverflow.com/questions/36322536/how-to-set-an-environment-variable-from-a-gradle-build / https://stackoverflow.com/a/63140816
tasks.register("buildLabkey") { Task t ->
//task("buildLabkey", group: "Docker", description: "Generates the LabKey docker image", dependsOn: ["buildTomcat", "buildEhrCron", "buildPostfix"]) { Task t ->
//task("buildLabkey", group: "Docker", description: "Generates the LabKey docker image", dependsOn: ["buildCranr", "buildEhrCron", "buildPostfix"]) { Task t ->
doLast {
def dockerStr = providers.gradleProperty("branchName")

Expand Down Expand Up @@ -317,7 +317,7 @@ configure(tagPostfixPlug){
tasks.register("buildAll"){
group 'Docker'
description 'Generates all the docker images in the subfolders'
dependsOn "buildTomcat", "buildEhrcron", "buildLabkey", "buildPostfix"
dependsOn "buildCranr", "buildEhrcron", "buildLabkey", "buildPostfix"

}

Expand Down Expand Up @@ -445,7 +445,7 @@ tasks.register("downloadPostfixPlug",DockerPullImage){
dependsOn 'checkDocker'
}

tasks.register("downloadTomcat"){
tasks.register("downloadCranr"){
doLast {
def dockerStr = providers.gradleProperty("branchName")
if (dockerStr.present)
Expand All @@ -454,11 +454,11 @@ tasks.register("downloadTomcat"){
String branchName = dockerStr.get()
t.project.exec {
executable "docker"
args "pull", "wnprcehr/tomcat:tomcat9_${branchName}"
args "pull", "wnprcehr/cranrnutils:cranrnutils_${branch}"
}
}
else{
logger.warn 'Must provide docker string via command line. (ex. ./gradlew downloadTomcat -PbranchName=22.11_fb)'
logger.warn 'Must provide docker string via command line. (ex. ./gradlew downloadCranr -PbranchName=22.11_fb)'
}
}
group 'Docker'
Expand All @@ -467,8 +467,8 @@ tasks.register("downloadTomcat"){

}

tasks.register("downloadTomcatPlug",DockerPullImage){
image = "wnprcehr/tomcat:tomcat9_${branchName}"
tasks.register("downloadCranrPlug",DockerPullImage){
image = "wnprcehr/cranrnutils:cranrnutils_${branch}"

onComplete{
def dockerStr = providers.gradleProperty("branchName")
Expand All @@ -478,7 +478,7 @@ tasks.register("downloadTomcatPlug",DockerPullImage){
}
else{

logger.warn 'Must provide docker string via command line. (ex. ./gradlew downloadTomcatPlug -PbranchName=22.11_fb)'
logger.warn 'Must provide docker string via command line. (ex. ./gradlew downloadCranrPlug -PbranchName=22.11_fb)'
}
}
doLast{
Expand Down
44 changes: 21 additions & 23 deletions docker/cranrnutils/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
FROM eclipse-temurin:17-jre-jammy
FROM eclipse-temurin:25-jre-noble

# Set noninteractive mode for apt-get
ENV DEBIAN_FRONTEND=noninteractive
Expand All @@ -7,37 +7,35 @@ ENV LANG=en_US.utf8

RUN apt-get update \
&& apt-get -qq install -y lsb-release \
software-properties-common \
software-properties-common \
curl \
&& apt-get clean


# Download and add siging key for Postgres 15
# https://www.linuxtechi.com/how-to-install-postgresql-on-ubuntu/
# https://askubuntu.com/a/1456015
RUN echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list
RUN wget -qO- https://www.postgresql.org/media/keys/ACCC4CF8.asc | tee /etc/apt/trusted.gpg.d/pgdg.asc > /dev/null 2>&1
# Download and add signing key for Postgres 15
RUN mkdir -p /etc/apt/keyrings \
&& curl -fsSL https://www.postgresql.org/media/keys/ACCC4CF8.asc -o /etc/apt/keyrings/pgdg.asc \
&& echo "deb [signed-by=/etc/apt/keyrings/pgdg.asc] http://apt.postgresql.org/pub/repos/apt/ $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list

# Download and add signing key for CRAN repository
# https://www.r-bloggers.com/2022/08/installation-of-r-4-2-on-ubuntu-22-04-1-lts-and-tips-for-spatial-packages/
# https://phoenixnap.com/kb/install-r-ubuntu
RUN wget -qO- https://cloud.r-project.org/bin/linux/ubuntu/marutter_pubkey.asc | tee -a /etc/apt/trusted.gpg.d/cran_ubuntu_key.asc > /dev/null 2>&1
RUN add-apt-repository "deb https://cloud.r-project.org/bin/linux/ubuntu $(lsb_release -cs)-cran40/"
RUN curl -fsSL https://cloud.r-project.org/bin/linux/ubuntu/marutter_pubkey.asc -o /etc/apt/keyrings/cran_ubuntu_key.asc \
&& echo "deb [signed-by=/etc/apt/keyrings/cran_ubuntu_key.asc] https://cloud.r-project.org/bin/linux/ubuntu $(lsb_release -cs)-cran40/" > /etc/apt/sources.list.d/cran.list

# Adding various application to download packages to install Postgres 15 and CRAN-R
RUN apt-get update \
&& apt-get -qq install -y texinfo \
tzdata \
gettext \
make \
openssl \
#Linux packages needed for installing CRAN-R
dirmngr \
#Linux packages needed for RlabKey
libcurl4-openssl-dev \
libssl-dev \
postgresql-client-15 \
r-base \
r-base-dev \
tzdata \
gettext \
make \
openssl \
#Linux packages needed for installing CRAN-R
dirmngr \
#Linux packages needed for RlabKey
libcurl4-openssl-dev \
libssl-dev \
postgresql-client-15 \
r-base \
r-base-dev \
&& apt-get clean

# install the necessary R packages
Expand Down
Binary file modified docker/gradle/wrapper/gradle-wrapper.jar
Binary file not shown.
2 changes: 1 addition & 1 deletion docker/gradle/wrapper/gradle-wrapper.properties
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-7.5.1-bin.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-9.3.1-bin.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
2 changes: 1 addition & 1 deletion docker/labkey/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ RUN echo -e "Downloading LabKey build from \033[1;33m${Z}\033[0m" \

# -----------------------------------------------------------------------------
# MAIN IMAGE BUILD DEFINITION
FROM --platform=$BUILDPLATFORM wnprcehr/cranrnutils:cranrnutils_${LK_VERSION}${FB_NAME}
FROM wnprcehr/cranrnutils:cranrnutils_${LK_VERSION}${FB_NAME}

# creating folders for LabKey installation
RUN mkdir -p /labkey/labkey
Expand Down