Developer Images

January 8, 2026 ยท View on GitHub

Contribute Dev

Developer Images

Build of UBI 9 based Developer Images Build of UBI 10 based Developer Images

Containers images with tools for developers ๐Ÿ‘จโ€๐Ÿ’ป๐Ÿ‘ฉโ€๐Ÿ’ป

Developer Base Image

Red Hat Universal Base Image (UBI) based images

Available versions:

Run the following commands to test with Docker:

UBI 9:

$ docker run -ti --rm \
       quay.io/devfile/base-developer-image:ubi9-latest \
       bash

UBI 10:

$ docker run -ti --rm \
       quay.io/devfile/base-developer-image:ubi10-latest \
       bash

Included Development Tools

Toolubi9 based imageubi10 based image
bashbashbash
bat<gh releases><gh releases>
buildahbuildahbuildah
curlcurlcurl
pspsps
diffdiffutilsdiffutils
emacsNOT AVAILABLE (fedora only)NOT AVAILABLE (fedora only)
fishNOT AVAILABLE (fedora only)NOT AVAILABLE (fedora only)
gh<gh releases><gh releases>
gitgitgit
git-lfsgit-lfsgit-lfs
ipiprouteiproute
jqjqjq
htopNOT AVAILABLE (fedora only)NOT AVAILABLE (fedora only)
kubedock<gh releases><gh releases>
lesslessless
lsoflsoflsof
manmanman
nanonanonano
netcatNOT AVAILABLENOT AVAILABLE
netstatnet-toolsnet-tools
openssh-clientopenssh-clientsopenssh-clients
podmanpodmanpodman
7zp7zip-pluginsp7zip-plugins
ripgrep<gh releases><gh releases>
rsyncrsyncrsync
scpopenssh-clientsopenssh-clients
screenNOT AVAILABLENOT AVAILABLE
sedsedsed
shasumperl-Digest-SHAperl-Digest-SHA
socatsocatsocat
sudosudosudo
ssNOT AVAILABLENOT AVAILABLE
ssl-certNOT AVAILABLENOT AVAILABLE
stowstowstow
tail<built in><built in>
tartartar
timetimetime
tldrNOT AVAILABLE (fedora only)NOT AVAILABLE (fedora only)
tmuxNOT AVAILABLE (fedora only)NOT AVAILABLE (fedora only)
vimvimvim
wgetwgetwget
zipzipzip
zshNOT AVAILABLE (fedora only)NOT AVAILABLE (fedora only)
TOTAL SIZE800MB (255MB compressed)789MB (256MB compressed)

Extending the base image

When extending the base image, source kubedock_setup should be called in the new image's entrypoint to set up kubedock support. This sets up a wrapper for podman to use kubedock for the following podman commands if the KUBEDOCK_ENABLED env variable is set to true:

podman run
podman ps
podman exec
podman cp
podman logs
podman inspect
podman kill
podman rm
podman wait
podman stop
podman start

An example is available in the Universal Developer Image dockerfile.

Developer Universal Image

UBI 9 based image

Image: quay.io/devfile/universal-developer-image:ubi9-latest

Test:

docker run -ti --rm quay.io/devfile/universal-developer-image:ubi9-latest bash

Included Development Tools:

Tool or languageubi9 based image
--------JAVA----------------------------------------------
sdk<https://get.sdkman.io>
java<8.0.432-tem via sdkman>
java<11.0.25-tem via sdkman>
java<17.0.13-tem via sdkman>/default
java<21.0.5-tem via sdkman>
maven<via sdkman>
gradle<via sdkman>
mandrel<22.1.2.r21-mandrel via sdkman>
jbang<via sdkman>
--------SCALA---------------------------------------------
cs<https://get-coursier.io/>
sbt<sbt launch script>
mill<mill launch script>
--------C/CPP---------------------------------------------
clangclang
clangdllvm-toolset
gdbgdb
--------PHP-----------------------------------------------
phpphp
composerhttps://getcomposer.org/
xdebugpecl
-------NODEJS---------------------------------------------
nodejsnodejs
npmnpm
yarn<via npm>
--------GO------------------------------------------------
gogo-toolset
goplsgolang.org/x/tools/gopls v0.21.0
--------.NET----------------------------------------------
dotnetdotnet-sdk-8.0
------PYTHON----------------------------------------------
pythonpython3.11
setuptoolspython3.11-setuptools
pippython3.11-pip
pylint<via pip>
yq<via pip>
--------RUST----------------------------------------------
rustup<sh.rustup.rs>
rust-src<via rustup>
rust-analysis<via rustup>
--------Platform------------------------------------------
camel-k<gh release>
------CLOUD-----------------------------------------------
ocmirror.openshift.com
tknmirror.openshift.com
podmancontainer-tools:rhel8
buildahcontainer-tools:rhel8
skopeocontainer-tools:rhel8
kubectl<kubernetes dnf repo>
krew<gh releases>
helm<get.helm.sh>
kustomize<gh releases>
tkn<gh releases>
kn<gh releases>
terraform<releases.hashicorp.com>
docker<download.docker.com>
docker-compose<gh releases>
kamel<gh release>
TOTAL SIZE8.75GB (3.6GB compressed)

Libraries:

  • e2fsprogs v1.46.5

Environment Variables:

  • JAVA_HOME_8, JAVA_HOME_11, JAVA_HOME_17, JAVA_HOME_21

UBI 10 based image

Image: quay.io/devfile/universal-developer-image:ubi10-latest

Test:

docker run -ti --rm quay.io/devfile/universal-developer-image:ubi10-latest bash

Included Development Tools:

Tool or languageubi10 based image
--------JAVA----------------------------------------------
sdk<https://get.sdkman.io>
java<8.0.472-tem via sdkman>
java<11.0.29-tem via sdkman>
java<17.0.17-tem via sdkman>
java<21.0.9-tem via sdkman>
java<23.0.2-tem via sdkman>/default
java<25.0.1.r25-mandrel via sdkman>
maven<via sdkman>
gradle<via sdkman>
jbang<via sdkman>
--------SCALA---------------------------------------------
cs<https://get-coursier.io/>
sbt<sbt launch script>
mill<mill launch script>
--------C/CPP---------------------------------------------
gccgcc
g++gcc-c++
clangclang
gdbgdb
--------PHP-----------------------------------------------
phpphp 8.3
composerdnf
xdebugphp-pecl-xdebug
-------NODEJS---------------------------------------------
nodejs24.12.0 (default), 22.21.1
npmnpm
yarnv1.22.22
--------GO------------------------------------------------
gogo-toolset 1.25+
goplsgolang.org/x/tools/gopls v0.21.0
--------.NET----------------------------------------------
dotnetdotnet-sdk-10.0
------PYTHON----------------------------------------------
pythonpython3.13
setuptoolspython3.13-setuptools
pippython3.13-pip
pylint<via pip>
yq<via pip>
--------RUST----------------------------------------------
rustup<sh.rustup.rs>
rust-src<via rustup>
rust-analysis<via rustup>
rust-analyzer<via rustup>
--------Platform------------------------------------------
camel-kv2.8.0
------CLOUD-----------------------------------------------
ocv4.20
tknv1.20.0 (OpenShift)
kubectlv1.28
krewv0.4.5
helmv4.0.4
kustomizev5.8.0
tknv0.43.0 (Tekton)
knv1.20.0
terraformv1.14.2
skaffold<latest>
kamelv2.8.0
shellcheckv0.11.0
TOTAL SIZETBD

Libraries:

  • e2fsprogs v1.47.3

Environment Variables:

  • JAVA_HOME_8, JAVA_HOME_11, JAVA_HOME_17, JAVA_HOME_21, JAVA_HOME_23, JAVA_HOME_25

Configuration

Registry Override

The workflows support using custom container registries through the REGISTRY environment variable. This is useful for forks that want to publish to their own registry.

Default behavior: Images are published to quay.io/devfile

To override in a fork:

  1. Go to your repository Settings โ†’ Secrets and Variables โ†’ Actions โ†’ Variables
  2. Add a repository variable: REGISTRY = your-registry.com/your-namespace
  3. All workflows will automatically use your custom registry

Example registry formats:

  • quay.io/youruser
  • ghcr.io/youruser
  • docker.io/youruser
  • your-private-registry.com/namespace

Builds

This repo contains actions, including:

  • release latest stable UBI 9
  • release latest stable UBI 10

Downstream builds can be found at the link below, which is internal to Red Hat. Stable builds can be found by replacing the 3.x with a specific version like 3.2.

License

Che is open sourced under the Eclipse Public License 2.0.