-
-
Notifications
You must be signed in to change notification settings - Fork 41
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
8 changed files
with
260 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,11 @@ | ||
# syntax = edrevo/dockerfile-plus | ||
INCLUDE+ builds/base/Alpine.JDK21.Dockerfile | ||
|
||
LABEL maintainer "Jon Clausen <[email protected]>" | ||
LABEL repository "https://github.com/Ortus-Solutions/docker-commandbox" | ||
|
||
RUN box install commandbox-boxlang | ||
|
||
ENV BOX_SERVER_APP_CFENGINE boxlang | ||
|
||
RUN ${BUILD_DIR}/util/warmup-server.sh |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,75 @@ | ||
FROM eclipse-temurin:21-jdk-alpine | ||
|
||
ARG VERSION | ||
ARG COMMANDBOX_VERSION | ||
|
||
LABEL version ${VERSION} | ||
LABEL maintainer "Jon Clausen <[email protected]>" | ||
LABEL repository "https://github.com/Ortus-Solutions/docker-commandbox" | ||
|
||
# Default to UTF-8 file.encoding | ||
ENV LANG C.UTF-8 | ||
|
||
# Since alpine runs as a single user, we need to create a "root" direcotry | ||
ENV HOME /root | ||
|
||
# Alpine workgroup is root group | ||
ENV WORKGROUP root | ||
|
||
# Flag as an alpine release | ||
RUN touch /etc/alpine-release | ||
|
||
### Directory Mappings ### | ||
|
||
# BIN_DIR = Where the box binary goes | ||
ENV BIN_DIR /usr/bin | ||
# LIB_DIR = Where the build files go | ||
ENV LIB_DIR /usr/lib | ||
WORKDIR $BIN_DIR | ||
|
||
# APP_DIR = the directory where the application runs | ||
ENV APP_DIR /app | ||
WORKDIR $APP_DIR | ||
|
||
# BUILD_DIR = WHERE runtime scripts go | ||
ENV BUILD_DIR $LIB_DIR/build | ||
WORKDIR $BUILD_DIR | ||
|
||
# COMMANDBOX_HOME = Where CommmandBox Lives | ||
ENV COMMANDBOX_HOME=$LIB_DIR/CommandBox | ||
|
||
# Copy file system | ||
COPY ./test/ ${APP_DIR}/ | ||
COPY ./build/ ${BUILD_DIR}/ | ||
# Ensure all workgroup users have permission on the build scripts | ||
RUN chown -R nobody:${WORKGROUP} $BUILD_DIR | ||
RUN chmod -R +x $BUILD_DIR | ||
|
||
|
||
# Basic Dependencies including binaries for PDF rendering | ||
RUN rm -rf $BUILD_DIR/util/debian | ||
RUN rm -rf $BUILD_DIR/util/ubi9 | ||
RUN $BUILD_DIR/util/alpine/install-dependencies.sh | ||
|
||
# Commandbox Installation | ||
RUN $BUILD_DIR/util/install-commandbox.sh | ||
|
||
# Add our custom classes added in the previous step to the java classpath | ||
ENV CLASSPATH="$JAVA_HOME/classes" | ||
|
||
# Default Port Environment Variables | ||
ENV PORT 8080 | ||
ENV SSL_PORT 8443 | ||
|
||
|
||
# Healthcheck environment variables | ||
ENV HEALTHCHECK_URI "http://127.0.0.1:${PORT}/" | ||
|
||
# Our healthcheck interval doesn't allow dynamic intervals - Default is 20s intervals with 15 retries | ||
HEALTHCHECK --interval=20s --timeout=30s --retries=15 CMD curl --fail ${HEALTHCHECK_URI} || exit 1 | ||
|
||
EXPOSE ${PORT} ${SSL_PORT} | ||
|
||
WORKDIR $APP_DIR | ||
|
||
CMD $BUILD_DIR/run.sh |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,68 @@ | ||
FROM eclipse-temurin:21-jdk-jammy | ||
ARG COMMANDBOX_VERSION | ||
|
||
LABEL maintainer "Jon Clausen <[email protected]>" | ||
LABEL repository "https://github.com/Ortus-Solutions/docker-commandbox" | ||
|
||
# Default to UTF-8 file.encoding | ||
ENV LANG C.UTF-8 | ||
|
||
# Since alpine runs as a single user, we need to create a "root" direcotry | ||
ENV HOME /root | ||
|
||
# Add a working group which any dynamic users can be assigned | ||
ENV WORKGROUP runwar | ||
RUN groupadd $WORKGROUP && usermod -a -G $WORKGROUP root | ||
|
||
### Directory Mappings ### | ||
# BIN_DIR = Where the box binary goes | ||
ENV BIN_DIR /usr/local/bin | ||
# LIB_DIR = Where the build files go | ||
ENV LIB_DIR /usr/local/lib | ||
WORKDIR $BIN_DIR | ||
|
||
# BUILD_DIR = WHERE runtime scripts go | ||
ENV BUILD_DIR $LIB_DIR/build | ||
WORKDIR $BUILD_DIR | ||
|
||
# COMMANDBOX_HOME = Where CommmandBox Lives | ||
ENV COMMANDBOX_HOME=$LIB_DIR/CommandBox | ||
|
||
# APP_DIR = the directory where the application runs | ||
ENV APP_DIR /app | ||
WORKDIR $APP_DIR | ||
|
||
# Copy file system | ||
COPY ./test/ ${APP_DIR}/ | ||
COPY ./build/ ${BUILD_DIR}/ | ||
RUN chmod +x $BUILD_DIR/*.sh | ||
|
||
# Ensure all runwar users have permission on the build scripts | ||
RUN chown -R $(whoami):${WORKGROUP} $BUILD_DIR | ||
|
||
|
||
# Basic Dependencies | ||
RUN rm -rf $BUILD_DIR/util/alpine | ||
RUN rm -rf $BUILD_DIR/util/ubi9 | ||
RUN ${BUILD_DIR}/util/debian/install-dependencies.sh | ||
|
||
# Commandbox Installation | ||
RUN $BUILD_DIR/util/install-commandbox.sh | ||
|
||
# Add our custom classes added in the previous step to the java classpath | ||
ENV CLASSPATH="$JAVA_HOME/classes" | ||
|
||
|
||
# Default Port Environment Variables | ||
ENV PORT 8080 | ||
ENV SSL_PORT 8443 | ||
|
||
# Healthcheck environment variables | ||
ENV HEALTHCHECK_URI "http://127.0.0.1:${PORT}/" | ||
|
||
# Our healthcheck interval doesn't allow dynamic intervals - Default is 20s intervals with 15 retries | ||
HEALTHCHECK --interval=20s --timeout=30s --retries=15 CMD curl --fail ${HEALTHCHECK_URI} || exit 1 | ||
|
||
EXPOSE ${PORT} ${SSL_PORT} | ||
|
||
CMD $BUILD_DIR/run.sh |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,72 @@ | ||
FROM eclipse-temurin:21-jdk-ubi9-minimal | ||
|
||
ARG COMMANDBOX_VERSION | ||
|
||
LABEL maintainer "Jon Clausen <[email protected]>" | ||
LABEL repository "https://github.com/Ortus-Solutions/docker-commandbox" | ||
|
||
# Default to UTF-8 file.encoding | ||
ENV LANG C.UTF-8 | ||
|
||
# Since alpine runs as a single user, we need to create a "root" direcotry | ||
ENV HOME /root | ||
|
||
RUN microdnf install -y shadow-utils util-linux | ||
|
||
# Add a working group which any dynamic users can be assigned | ||
ENV WORKGROUP runwar | ||
RUN groupadd $WORKGROUP && usermod -a -G $WORKGROUP root | ||
|
||
### Directory Mappings ### | ||
# BIN_DIR = Where the box binary goes | ||
ENV BIN_DIR /usr/local/bin | ||
# LIB_DIR = Where the build files go | ||
ENV LIB_DIR /usr/local/lib | ||
WORKDIR $BIN_DIR | ||
|
||
# BUILD_DIR = WHERE runtime scripts go | ||
ENV BUILD_DIR $LIB_DIR/build | ||
WORKDIR $BUILD_DIR | ||
|
||
# COMMANDBOX_HOME = Where CommmandBox Lives | ||
ENV COMMANDBOX_HOME=$LIB_DIR/CommandBox | ||
|
||
# APP_DIR = the directory where the application runs | ||
ENV APP_DIR /app | ||
WORKDIR $APP_DIR | ||
|
||
# Copy file system | ||
COPY ./test/ ${APP_DIR}/ | ||
COPY ./build/ ${BUILD_DIR}/ | ||
RUN chmod +x $BUILD_DIR/*.sh | ||
|
||
# Ensure all runwar users have permission on the build scripts | ||
RUN chown -R $(whoami):${WORKGROUP} $BUILD_DIR | ||
|
||
|
||
# Basic Dependencies | ||
RUN rm -rf $BUILD_DIR/util/alpine | ||
RUN rm -rf $BUILD_DIR/util/debian | ||
|
||
RUN ${BUILD_DIR}/util/ubi9/install-dependencies.sh | ||
|
||
# Commandbox Installation | ||
RUN $BUILD_DIR/util/install-commandbox.sh | ||
|
||
# Add our custom classes added in the previous step to the java classpath | ||
ENV CLASSPATH="$JAVA_HOME/classes" | ||
|
||
# Default Port Environment Variables | ||
ENV PORT 8080 | ||
ENV SSL_PORT 8443 | ||
|
||
|
||
# Healthcheck environment variables | ||
ENV HEALTHCHECK_URI "http://127.0.0.1:${PORT}/" | ||
|
||
# Our healthcheck interval doesn't allow dynamic intervals - Default is 20s intervals with 15 retries | ||
HEALTHCHECK --interval=20s --timeout=30s --retries=15 CMD curl --fail ${HEALTHCHECK_URI} || exit 1 | ||
|
||
EXPOSE ${PORT} ${SSL_PORT} | ||
|
||
CMD $BUILD_DIR/run.sh |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,11 @@ | ||
# syntax = edrevo/dockerfile-plus | ||
INCLUDE+ builds/base/JDK21.Dockerfile | ||
|
||
LABEL maintainer "Jon Clausen <[email protected]>" | ||
LABEL repository "https://github.com/Ortus-Solutions/docker-commandbox" | ||
|
||
RUN box install commandbox-boxlang | ||
|
||
ENV BOX_SERVER_APP_CFENGINE boxlang | ||
|
||
RUN ${BUILD_DIR}/util/warmup-server.sh |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,11 @@ | ||
# syntax = edrevo/dockerfile-plus | ||
INCLUDE+ builds/base/ubi9.JDK21.Dockerfile | ||
|
||
LABEL maintainer "Jon Clausen <[email protected]>" | ||
LABEL repository "https://github.com/Ortus-Solutions/docker-commandbox" | ||
|
||
RUN box install commandbox-boxlang | ||
|
||
ENV BOX_SERVER_APP_CFENGINE boxlang | ||
|
||
RUN ${BUILD_DIR}/util/warmup-server.sh |