Base image for devcontainers with mise, uv and zsh. The image is automatically built, released and pushed as soon as a new Debian base image, mise or uv release is available.
Use this image as base for your mise devcontainer:
{
"image": "mietzen/mise-devcontainer:latest"
}misepinned viaMISE_VERSION, no tools preinstalled (add them per-project via a.mise.tomlin your repo)uvpinned viaUV_VERSIONzsh+oh-my-zshwith mise activated- Non-root user
vscode(uid/gid 1000), can only usesudoto own persistent volumes
Mount your persistent volume(s) at /home/vscode/.persist. vscode can make it writable with a single sudo command:
sudo chown -R vscode:vscode /home/vscode/.persistIn your postCreateCommand.
The image is rebuilt and released automatically when one of the upstream inputs changes:
- Dependabot proposes updates for the Debian base image and the GitHub Actions.
- The auto-update workflows run daily and open a PR when a new mise or uv release is available.
- Auto-merge squash-merges the PR once the build check passes.
auto-release.ymlcreates a GitHub release (minor for mise/uv, patch for the Debian base image).docker-image.ymlbuilds and pushes the tags. On pull requests it only builds.
Feel free to fork this repository and edit it to your needs, to get CI running you will need the following:
The workflows authenticate with a single GitHub App to create PRs, merge them and create releases. See actions/create-github-app-token for the setup.
| Secret | Purpose |
|---|---|
APP_ID |
GitHub App ID |
APP_PRIVATE_KEY |
GitHub App private key |
DOCKER_HUB_DEPLOY_KEY |
Docker Hub token used for docker login |
[Optional] Add your DockerHub username and image name under variables:
| Variable | Purpose | Default |
|---|---|---|
DOCKER_HUB_USERNAME |
Docker Hub account to push under | github.repository_owner |
IMAGE_NAME |
Image name on Docker Hub | repo name (lowercased) |