Camel CLI - Installation Options
Alternative ways to install the Camel CLI — pinning a specific version, offline-safe setups, and running from a container image.
For the standard installation, see Getting Started.
Installing a specific version
By default, jbang app install installs the latest Camel release. To pin a specific version (for example 4.14.1):
jbang app install --force --fresh -Dcamel.jbang.version=4.14.1 -Dcamel-kamelets.version=4.14.1 camel@apache/camel The --force and --fresh flags ensure JBang bypasses its download cache.
From Camel 4.17, Kamelets are optional and downloaded on demand. Set the version with --kamelets-version on camel run, or pre-configure it: camel config set kamelets-version=4.17.0. |
Preventing automatic upgrades
JBang occasionally checks upstream sources and may auto-update the installed CLI. If you need a stable, repeatable installation, use one of the options below.
Option 1: Pin from a local CamelJBang.java
This is the most deterministic approach — best for fully offline environments.
-
Download
CamelJBang.javato your local machine. -
Edit the file and set the Camel version you want.
-
Install from the local file:
jbang app install CamelJBang.java
The file can be deleted after installation.
Option 2: Pin from a version-tagged catalog
Simpler than Option 1, but still prevents surprise upgrades:
CAMEL_VERSION="4.18.0"
CAMEL_TAG="camel-${CAMEL_VERSION}"
CAMEL_JBANG_CATALOG_URL="https://raw.githubusercontent.com/apache/camel/${CAMEL_TAG}/jbang-catalog.json"
jbang app install --force --fresh \
-Dcamel.jbang.version="${CAMEL_VERSION}" \
-Dcamel-kamelets.version="${CAMEL_VERSION}" \
camel@"${CAMEL_JBANG_CATALOG_URL}" The catalog URL points to a specific release tag, so JBang will not pull a newer version.
Option 3: Use the Camel Wrapper
Similar to the Maven Wrapper, the Camel Wrapper creates version-pinning scripts in your project directory:
camel wrapper This creates a .camel/camel-wrapper.properties file and launcher scripts so anyone working on the project uses the same Camel CLI version — no manual install needed.
Pin a specific version:
camel wrapper --camel-version=4.18.0 Option 4: Use the Camel Launcher
The Camel CLI Launcher is a self-contained executable JAR that runs without JBang entirely.
Container image
The Camel CLI is also available as a container image on Docker Hub.
All examples below use docker. Replace with podman if you prefer — the commands are identical. |
Pull the image:
docker pull apache/camel-jbang:4.21.0 Verify it works:
docker run apache/camel-jbang:4.21.0 version Camel CLI version: 4.21.0 Run a route by mounting your local directory:
docker run -v .:/integrations apache/camel-jbang:4.21.0 run /integrations/example.yaml