Minimal Dev Container image with mise: Debian, verified upstreams, SLSA provenance
10K+
Mirror. This Docker Hub repository mirrors
ghcr.io/bare-devcontainer/mise, under the same tags and with the same digests. GitHub Container Registry receives every build first and applies no pull rate limit, so preferghcr.io/bare-devcontainer/miseunless your environment requires Docker Hub, where the image isdocker.io/baredevcontainer/mise.This page is rendered from the image's README in bare-devcontainer/images. That is the repository "this repository" refers to below.
Dev container image with mise installed, built on the debian base image.
Like every image in this repository, it is minimal, built only from upstreams verified at build
time, and published with SLSA provenance, a GitHub artifact attestation, and an SBOM; it runs as
the non-root user dev. Why these images explains the
reasoning, and Verifying the image below shows how to check a build.
mise is a polyglot runtime manager that can install and manage multiple language toolchains (Node.js, Python, Ruby, Go, etc.) per project.
ghcr.io/bare-devcontainer/mise:<tag>
Reference it from .devcontainer/devcontainer.json, pinning the digest as well as the tag:
{
"image": "ghcr.io/bare-devcontainer/mise:trixie@sha256:<digest>"
}
A ready-to-use Dev Container template for this image is available at bare-devcontainer/templates. It provides the recommended configuration for this image, including security hardening and volume mounts that persist cache directories for faster rebuilds.
| Tags | Debian variant |
|---|---|
2026.9.14-trixie, 2026.9.14, trixie | trixie |
Tags are also published with a date suffix on each build (e.g., 2026.9.14-trixie-<YYYYMMDD>).
Note The
bookwormvariant has been discontinued. mise 2026.7.0 and later require a newer glibc than bookworm provides, and mise uses calendar versioning, so no future mise release will ever be compatible with bookworm again. Rather than publishing a permanently frozen mise that no longer receives security fixes, only the trixie variant is maintained. Previously published bookworm tags remain available on GHCR but will not be updated.
Everything from the debian base image, plus:
The shims directory ~/.local/share/mise/shims is on PATH under a Dev Container client, so
tools resolve as soon as mise installs them. Running the image without one (docker run, a CI
job's container:) leaves the directory off PATH.
mise.toml (and the idiomatic
per-language files such as .node-version or .python-version).build-essential covers the
compiler and linker, so backends that download prebuilt binaries and simple source builds
both work as-is. A backend that builds a language runtime from source additionally needs the
-dev packages of the libraries it links against, such as libssl-dev or zlib1g-dev.mise install installs everything the project declares; mise exec <tool>@<version> -- <cmd>
runs a one-off without declaring anything. To install the project's tools when the container is
created rather than on first use, run mise install from a postCreateCommand.
Two directories are worth persisting across container rebuilds as volumes:
~/.local/share/mise — the installed tools. Everything is re-downloaded on every rebuild
unless this directory survives.~/.cache/mise — the download cache.The mise binary is downloaded from GitHub Releases. Its
checksum is verified against SHASUMS256.txt, whose minisign signature is verified against
mise's public key (mise/mise-minisign.pub) before installation. The key is committed to this
repository, so signatures are checked against a key reviewed here rather than one fetched at
build time.
Note that this covers the mise binary only. Tools that mise installs at runtime are fetched from their own upstreams under mise's own verification, outside this image's build pipeline.
Every build is published with SLSA provenance, a GitHub artifact attestation, and an SBOM. The attestation confirms that an image was built by the release workflow of this repository and has not been altered since:
gh attestation verify oci://ghcr.io/bare-devcontainer/mise:<tag>@sha256:<digest> \
--owner bare-devcontainer
The Docker Hub mirror carries the same digests, so the same command verifies an image pulled
from docker.io/baredevcontainer/mise.
Verifying Published Images covers inspecting the
provenance and the SBOM as well.
Content type
Image
Digest
sha256:edf340ff6…
Size
281.3 MB
Last updated
1 day ago
docker pull baredevcontainer/mise:2026.9.14