Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
19 commits
Select commit Hold shift + click to select a range
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
32 changes: 16 additions & 16 deletions .github/workflows/pull-request.yml
Original file line number Diff line number Diff line change
Expand Up @@ -39,22 +39,22 @@ jobs:
BUILD_IMAGE_TAG: boxlang

# ubi9 Builds
- BUILD_IMAGE_DOCKERFILE: builds/ubi9/Base.Dockerfile
- BUILD_IMAGE_DOCKERFILE: builds/redhat/Base.Dockerfile
BUILD_IMAGE_TAG: ubi9
- BUILD_IMAGE_DOCKERFILE: builds/ubi9/Base.Dockerfile
BUILD_IMAGE_TAG: jre11-ubi9
- BUILD_IMAGE_DOCKERFILE: builds/base/ubi9.JDK11.Dockerfile
BUILD_IMAGE_TAG: jdk11-ubi9
- BUILD_IMAGE_DOCKERFILE: builds/ubi9/Lucee5.Dockerfile
BUILD_IMAGE_TAG: lucee5-ubi9
- BUILD_IMAGE_DOCKERFILE: builds/ubi9/LuceeLight.Dockerfile
BUILD_IMAGE_TAG: lucee-light-ubi9
- BUILD_IMAGE_DOCKERFILE: builds/ubi9/Adobe2018.Dockerfile
BUILD_IMAGE_TAG: adobe2018-ubi9
- BUILD_IMAGE_DOCKERFILE: builds/ubi9/Adobe2021.Dockerfile
BUILD_IMAGE_TAG: adobe2021-ubi9
- BUILD_IMAGE_DOCKERFILE: builds/ubi9/BoxLang.Dockerfile
BUILD_IMAGE_TAG: boxlang-ubi9
- BUILD_IMAGE_DOCKERFILE: builds/redhat/Base.Dockerfile
BUILD_IMAGE_TAG: jre11-rhel
- BUILD_IMAGE_DOCKERFILE: builds/base/rhel.JDK11.Dockerfile
BUILD_IMAGE_TAG: jdk11-rhel
- BUILD_IMAGE_DOCKERFILE: builds/redhat/Lucee5.Dockerfile
BUILD_IMAGE_TAG: lucee5-rhel
- BUILD_IMAGE_DOCKERFILE: builds/redhat/LuceeLight.Dockerfile
BUILD_IMAGE_TAG: lucee-light-rhel
- BUILD_IMAGE_DOCKERFILE: builds/redhat/Adobe2018.Dockerfile
BUILD_IMAGE_TAG: adobe2018-rhel
- BUILD_IMAGE_DOCKERFILE: builds/redhat/Adobe2021.Dockerfile
BUILD_IMAGE_TAG: adobe2021-rhel
- BUILD_IMAGE_DOCKERFILE: builds/redhat/BoxLang.Dockerfile
BUILD_IMAGE_TAG: boxlang-rhel

# Alpine builds
# Note: No JDK builders currently support alpine with ARM
Expand All @@ -78,7 +78,7 @@ jobs:
BUILD_IMAGE_TAG: boxlang-alpine
steps:
- name: Checkout
uses: actions/checkout@v4
uses: actions/checkout@v6

- name: Set up QEMU
uses: docker/setup-qemu-action@master
Expand Down
400 changes: 300 additions & 100 deletions .github/workflows/release.yml

Large diffs are not rendered by default.

14 changes: 7 additions & 7 deletions .github/workflows/scans.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,8 +18,8 @@ jobs:
strategy:
matrix:
include:
- BUILD_IMAGE_DOCKERFILE: builds/debian/Base.Dockerfile
BUILD_IMAGE_TAG: CommandBox
- BUILD_IMAGE_DOCKERFILE: builds/base/Base.Dockerfile
BUILD_IMAGE_TAGS: CommandBox
# - BUILD_IMAGE_DOCKERFILE: builds/debian/Lucee5.Dockerfile
# BUILD_IMAGE_TAG: lucee5.3.10.97
# - BUILD_IMAGE_DOCKERFILE: builds/debian/Adobe2018.Dockerfile
Expand All @@ -29,7 +29,7 @@ jobs:

steps:
- name: Checkout
uses: actions/checkout@v4
uses: actions/checkout@v6

- name: Set up QEMU
uses: docker/setup-qemu-action@master
Expand All @@ -50,20 +50,20 @@ jobs:
build-args: COMMANDBOX_VERSION=${{ env.COMMANDBOX_VERSION }}
push: false
load: true
tags: ${{ env.DOCKER_IMAGE }}:${{ matrix.BUILD_IMAGE_TAG }}
tags: ${{ env.DOCKER_IMAGE }}:${{ matrix.BUILD_IMAGE_TAGS }}

- name: Scan generated packages
uses: anchore/scan-action@v6
uses: anchore/scan-action@v7
id: securityscan
with:
image: ${{ env.DOCKER_IMAGE }}:${{ matrix.BUILD_IMAGE_TAG }}
image: ${{ env.DOCKER_IMAGE }}:${{ matrix.BUILD_IMAGE_TAGS }}
severity-cutoff: "high"
fail-build: false
by-cve: "true"
only-fixed: true

- name: Upload Anchore Report
uses: github/codeql-action/upload-sarif@v3
uses: github/codeql-action/upload-sarif@v4
with:
sarif_file: ${{ steps.securityscan.outputs.sarif }}
category: "BoxLang-Runtime-${{ github.env.BRANCH }}"
34 changes: 17 additions & 17 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ All images are published to [Docker Hub](https://hub.docker.com/r/ortussolutions
- **Multi-Engine Support**: Run BoxLang Applications or CFML engines, including Lucee and Adobe ColdFusion, in a single container.
- **Customizable**: Easily configure your server environment using `server.json` or environment variables.
- **Pre-Built Engines**: Includes pre-built images with warmed-up engines to reduce startup times.
- **Alpine and UBI9 Variants**: Lightweight Alpine Linux and RHEL Universal Base Image (UBI9) variants for optimized performance and security.
- **Alpine and UBI9 Variants**: Lightweight Alpine Linux and RHEL Universal Base Image (UBI10) variants for optimized performance and security.
- **Health Checks**: Built-in health checks to ensure your server is running smoothly.
- **Docker Secrets Support**: Use Docker secrets for secure configuration management.
- **Environment Variables**: Extensive support for environment variables to customize your server configuration at runtime.
Expand Down Expand Up @@ -76,7 +76,7 @@ _Note: For references to the specific versions of CommandBox used within image v
- `:boxlang` - BoxLang runtime ready (JDK 21)
- `:lucee6` - Lucee 6.x warmed up (JDK 11)
- `:adobe2025` - Adobe ColdFusion 2025 (JDK 21)
- `:[version]` - Specific tagged version (e.g., `:3.13.4`)
- `:[version]` - Specific tagged version (e.g., `:3.13.8`)
- `:[tag]-snapshot` - Development version of tagged variations

#### JDK/JRE Variants (Debian)
Expand All @@ -100,11 +100,11 @@ _Note: For references to the specific versions of CommandBox used within image v

#### RHEL Universal Base Image (UBI9) Variants

- `:ubi9` ([Dockerfile](https://github.com/Ortus-Solutions/docker-commandbox/blob/master/builds/base/ubi9.Dockerfile)) - RHEL UBI9 (JDK 11)
- `:ubi9-jdk11` ([Dockerfile](https://github.com/Ortus-Solutions/docker-commandbox/blob/master/builds/base/ubi9.JDK11.Dockerfile)) - UBI9 with JDK 11
- `:ubi9-jre17` ([Dockerfile](https://github.com/Ortus-Solutions/docker-commandbox/blob/master/builds/base/ubi9.JRE17.Dockerfile)) - UBI9 with JRE 17
- `:ubi9-jdk17` ([Dockerfile](https://github.com/Ortus-Solutions/docker-commandbox/blob/master/builds/base/ubi9.JDK17.Dockerfile)) - UBI9 with JDK 17
- `:ubi9-jdk21` ([Dockerfile](https://github.com/Ortus-Solutions/docker-commandbox/blob/master/builds/base/ubi9.JDK21.Dockerfile)) - UBI9 with JDK 21
- `:ubi9` ([Dockerfile](https://github.com/Ortus-Solutions/docker-commandbox/blob/master/builds/base/rhel.Dockerfile)) - RHEL UBI9 (JDK 11)
- `:ubi9-jdk11` ([Dockerfile](https://github.com/Ortus-Solutions/docker-commandbox/blob/master/builds/base/rhel.JDK11.Dockerfile)) - UBI9 with JDK 11
- `:ubi9-jre17` ([Dockerfile](https://github.com/Ortus-Solutions/docker-commandbox/blob/master/builds/base/rhel.JRE17.Dockerfile)) - UBI9 with JRE 17
- `:ubi9-jdk17` ([Dockerfile](https://github.com/Ortus-Solutions/docker-commandbox/blob/master/builds/base/rhel.JDK17.Dockerfile)) - UBI9 with JDK 17
- `:ubi9-jdk21` ([Dockerfile](https://github.com/Ortus-Solutions/docker-commandbox/blob/master/builds/base/rhel.JDK21.Dockerfile)) - UBI9 with JDK 21

### Pre-Built Engine Images (Warmed Up)

Expand All @@ -114,7 +114,7 @@ These images include pre-downloaded and warmed-up engines to significantly reduc

- `:boxlang` ([Dockerfile](https://github.com/Ortus-Solutions/docker-commandbox/blob/master/builds/debian/BoxLang.Dockerfile)) - BoxLang on Debian
- `:boxlang-alpine` ([Dockerfile](https://github.com/Ortus-Solutions/docker-commandbox/blob/master/builds/alpine/BoxLang.Dockerfile)) - BoxLang on Alpine
- `:boxlang-ubi9` ([Dockerfile](https://github.com/Ortus-Solutions/docker-commandbox/blob/master/builds/ubi9/BoxLang.Dockerfile)) - BoxLang on UBI9
- `:boxlang-rhel` ([Dockerfile](https://github.com/Ortus-Solutions/docker-commandbox/blob/master/builds/redhat/BoxLang.Dockerfile)) - BoxLang on UBI9

#### Lucee CFML Engine

Expand All @@ -135,10 +135,10 @@ These images include pre-downloaded and warmed-up engines to significantly reduc

**UBI9-based Lucee Images:**

- `:lucee5-ubi9` ([Dockerfile](https://github.com/Ortus-Solutions/docker-commandbox/blob/master/builds/ubi9/Lucee5.Dockerfile)) - Lucee 5.x on UBI9
- `:lucee6-ubi9` ([Dockerfile](https://github.com/Ortus-Solutions/docker-commandbox/blob/master/builds/ubi9/Lucee6.Dockerfile)) - Lucee 6.x on UBI9
- `:lucee-light-ubi9` ([Dockerfile](https://github.com/Ortus-Solutions/docker-commandbox/blob/master/builds/ubi9/LuceeLight.Dockerfile)) - Lucee Light on UBI9
- `:lucee5-light-ubi9` ([Dockerfile](https://github.com/Ortus-Solutions/docker-commandbox/blob/master/builds/ubi9/Lucee5Light.Dockerfile)) - Lucee 5.x Light on UBI9
- `:lucee5-rhel` ([Dockerfile](https://github.com/Ortus-Solutions/docker-commandbox/blob/master/builds/redhat/Lucee5.Dockerfile)) - Lucee 5.x on UBI9
- `:lucee6-rhel` ([Dockerfile](https://github.com/Ortus-Solutions/docker-commandbox/blob/master/builds/redhat/Lucee6.Dockerfile)) - Lucee 6.x on UBI9
- `:lucee-light-rhel` ([Dockerfile](https://github.com/Ortus-Solutions/docker-commandbox/blob/master/builds/redhat/LuceeLight.Dockerfile)) - Lucee Light on UBI9
- `:lucee5-light-rhel` ([Dockerfile](https://github.com/Ortus-Solutions/docker-commandbox/blob/master/builds/redhat/Lucee5Light.Dockerfile)) - Lucee 5.x Light on UBI9

#### Adobe ColdFusion Engine

Expand All @@ -160,18 +160,18 @@ These images include pre-downloaded and warmed-up engines to significantly reduc

**UBI9-based Adobe Images:**

- `:adobe2018-ubi9` ([Dockerfile](https://github.com/Ortus-Solutions/docker-commandbox/blob/master/builds/ubi9/Adobe2018.Dockerfile)) - Adobe ColdFusion 2018 on UBI9
- `:adobe2021-ubi9` ([Dockerfile](https://github.com/Ortus-Solutions/docker-commandbox/blob/master/builds/ubi9/Adobe2021.Dockerfile)) - Adobe ColdFusion 2021 on UBI9
- `:adobe2023-ubi9` ([Dockerfile](https://github.com/Ortus-Solutions/docker-commandbox/blob/master/builds/ubi9/Adobe2023.Dockerfile)) - Adobe ColdFusion 2023 on UBI9
- `:adobe2025-ubi9` ([Dockerfile](https://github.com/Ortus-Solutions/docker-commandbox/blob/master/builds/ubi9/Adobe2025.Dockerfile)) - Adobe ColdFusion 2025 on UBI9
- `:adobe2018-rhel` ([Dockerfile](https://github.com/Ortus-Solutions/docker-commandbox/blob/master/builds/redhat/Adobe2018.Dockerfile)) - Adobe ColdFusion 2018 on UBI9
- `:adobe2021-rhel` ([Dockerfile](https://github.com/Ortus-Solutions/docker-commandbox/blob/master/builds/redhat/Adobe2021.Dockerfile)) - Adobe ColdFusion 2021 on UBI9
- `:adobe2023-rhel` ([Dockerfile](https://github.com/Ortus-Solutions/docker-commandbox/blob/master/builds/redhat/Adobe2023.Dockerfile)) - Adobe ColdFusion 2023 on UBI9
- `:adobe2025-rhel` ([Dockerfile](https://github.com/Ortus-Solutions/docker-commandbox/blob/master/builds/redhat/Adobe2025.Dockerfile)) - Adobe ColdFusion 2025 on UBI9

### Choosing the Right Tag

- **For BoxLang applications**: Use `:boxlang` variants
- **For CFML Warmed Up Engines**: Use `:lucee6` or `:adobe2025` for the latest engines
- **For production**: Use specific engine tags with your preferred base OS
- **For smaller images**: Use `-alpine` variants
- **For enterprise/RHEL environments**: Use `-ubi9` variants
- **For enterprise/RHEL environments**: Use `-rhel` variants
- **For development**: Use `:snapshot` for bleeding edge features

_**Note**: The `:latest` tag currently uses OpenJDK11, as do most pre-built engine images. BoxLang and Adobe2025 images use JDK21. If you require specific JDK versions, use the appropriate JDK variant tags._
Expand Down
9 changes: 9 additions & 0 deletions build/util/debian/install-dependencies.sh
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,15 @@ apt-get update
# Upgrade all packages
apt-get -y upgrade

# TODO: Remove this manual update when the next Ubuntu version is released and test if CVEs are resolved
# Manually update specific packages with known CVE vulnerabilities to latest available versions
apt-get install -y \
linux-libc-dev \
libkrb5support0 \
libkrb5-3 \
libk5crypto3 \
libgssapi-krb5-2

apt-get autoremove -y

apt-get install --assume-yes \
Expand Down
3 changes: 3 additions & 0 deletions build/util/install-commandbox.sh
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,9 @@ echo "$(box version) successfully installed"

box uninstall --system commandbox-update-check

# Ensure we have updated versions of a couple core modules TODO: Remove this after the next commandbox release
box install --force commandbox-cfconfig,commandbox-boxlang

# Swap out binary with thin client now that everything is expanded
curl https://s3.amazonaws.com/downloads.ortussolutions.com/ortussolutions/commandbox/${COMMANDBOX_VERSION}/box-thin -o ${BIN_DIR}/box

Expand Down
13 changes: 0 additions & 13 deletions builds/alpine/Adobe2018.Dockerfile

This file was deleted.

11 changes: 0 additions & 11 deletions builds/alpine/Adobe2021.Dockerfile

This file was deleted.

7 changes: 4 additions & 3 deletions builds/alpine/Adobe2023.Dockerfile
Original file line number Diff line number Diff line change
@@ -1,11 +1,12 @@
# syntax = edrevo/dockerfile-plus
INCLUDE+ builds/base/Alpine.JDK17.Dockerfile
# syntax = docker/dockerfile:1
ARG BASE_IMAGE_ARG
FROM ${BASE_IMAGE_ARG}

LABEL maintainer "Jon Clausen <jclausen@ortussolutions.com>"
LABEL repository "https://github.com/Ortus-Solutions/docker-commandbox"

#Hard Code our engine environment
ENV BOX_SERVER_APP_CFENGINE adobe@2023.0.16+330828
ENV BOX_SERVER_APP_CFENGINE adobe@2023.0.17+330864

# WARM UP THE SERVER
RUN ${BUILD_DIR}/util/warmup-server.sh
8 changes: 5 additions & 3 deletions builds/alpine/Adobe2025.Dockerfile
Original file line number Diff line number Diff line change
@@ -1,12 +1,14 @@
# syntax = edrevo/dockerfile-plus
INCLUDE+ builds/base/Alpine.JDK17.Dockerfile
# syntax = docker/dockerfile:1
ARG BASE_IMAGE_ARG
FROM ${BASE_IMAGE_ARG}


LABEL maintainer "Jon Clausen <jclausen@ortussolutions.com>"
LABEL repository "https://github.com/Ortus-Solutions/docker-commandbox"


#Hard Code our engine environment
ENV BOX_SERVER_APP_CFENGINE adobe@2025.0.04+331512
ENV BOX_SERVER_APP_CFENGINE adobe@2025.0.05+331552

# WARM UP THE SERVER
RUN ${BUILD_DIR}/util/warmup-server.sh
5 changes: 3 additions & 2 deletions builds/alpine/Base.Dockerfile
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
# syntax = edrevo/dockerfile-plus
INCLUDE+ builds/base/Alpine.Dockerfile
# syntax = docker/dockerfile:1
ARG BASE_IMAGE_ARG
FROM ${BASE_IMAGE_ARG}

LABEL maintainer "Jon Clausen <jclausen@ortussolutions.com>"
LABEL repository "https://github.com/Ortus-Solutions/docker-commandbox"
5 changes: 0 additions & 5 deletions builds/alpine/Base.JDK8.Dockerfile

This file was deleted.

8 changes: 5 additions & 3 deletions builds/alpine/BoxLang.Dockerfile
Original file line number Diff line number Diff line change
@@ -1,10 +1,12 @@
# syntax = edrevo/dockerfile-plus
INCLUDE+ builds/base/Alpine.JDK21.Dockerfile
# syntax = docker/dockerfile:1
ARG BASE_IMAGE_ARG
FROM ${BASE_IMAGE_ARG}


LABEL maintainer "Jon Clausen <jclausen@ortussolutions.com>"
LABEL repository "https://github.com/Ortus-Solutions/docker-commandbox"


ENV BOX_SERVER_APP_CFENGINE boxlang@1.7.0
ENV BOX_SERVER_APP_CFENGINE boxlang@1.8.0

RUN ${BUILD_DIR}/util/warmup-server.sh
6 changes: 4 additions & 2 deletions builds/alpine/Lucee5.Dockerfile
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
# syntax = edrevo/dockerfile-plus
INCLUDE+ builds/base/Alpine.Dockerfile
# syntax = docker/dockerfile:1
ARG BASE_IMAGE_ARG
FROM ${BASE_IMAGE_ARG}


LABEL maintainer "Jon Clausen <jclausen@ortussolutions.com>"
LABEL repository "https://github.com/Ortus-Solutions/docker-commandbox"
Expand Down
6 changes: 4 additions & 2 deletions builds/alpine/Lucee5Light.Dockerfile
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
# syntax = edrevo/dockerfile-plus
INCLUDE+ builds/base/Alpine.Dockerfile
# syntax = docker/dockerfile:1
ARG BASE_IMAGE_ARG
FROM ${BASE_IMAGE_ARG}


LABEL maintainer "Jon Clausen <jclausen@ortussolutions.com>"
LABEL repository "https://github.com/Ortus-Solutions/docker-commandbox"
Expand Down
8 changes: 5 additions & 3 deletions builds/alpine/Lucee6.Dockerfile
Original file line number Diff line number Diff line change
@@ -1,10 +1,12 @@
# syntax = edrevo/dockerfile-plus
INCLUDE+ builds/base/Alpine.Dockerfile
# syntax = docker/dockerfile:1
ARG BASE_IMAGE_ARG
FROM ${BASE_IMAGE_ARG}


LABEL maintainer "Jon Clausen <jclausen@ortussolutions.com>"
LABEL repository "https://github.com/Ortus-Solutions/docker-commandbox"

ENV BOX_SERVER_APP_CFENGINE lucee@6.2.1+122
ENV BOX_SERVER_APP_CFENGINE lucee@6.2.3+35

ENV LUCEE_EXTENSIONS D062D72F-F8A2-46F0-8CBC91325B2F067B;version=6.5.2

Expand Down
14 changes: 14 additions & 0 deletions builds/alpine/Lucee7.Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
# syntax = docker/dockerfile:1
ARG BASE_IMAGE_ARG
FROM ${BASE_IMAGE_ARG}


LABEL maintainer "Jon Clausen <jclausen@ortussolutions.com>"
LABEL repository "https://github.com/Ortus-Solutions/docker-commandbox"

ENV BOX_SERVER_APP_CFENGINE lucee@7.0.0+395

ENV LUCEE_EXTENSIONS D062D72F-F8A2-46F0-8CBC91325B2F067B;version=6.5.2

# WARM UP THE SERVER - we skip the declaration so that the default installed Lucee server will be used
RUN ${BUILD_DIR}/util/warmup-server.sh
6 changes: 4 additions & 2 deletions builds/alpine/LuceeLight.Dockerfile
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
# syntax = edrevo/dockerfile-plus
INCLUDE+ builds/base/Alpine.Dockerfile
# syntax = docker/dockerfile:1
ARG BASE_IMAGE_ARG
FROM ${BASE_IMAGE_ARG}


LABEL maintainer "Jon Clausen <jclausen@ortussolutions.com>"
LABEL repository "https://github.com/Ortus-Solutions/docker-commandbox"
Expand Down
Loading