This repository contains custom Docker container images for development environments, with a focus on devcontainers and CI environments. The images are built using multi-stage Dockerfiles and include modern development tooling managed via mise (formerly rtx).
src/ubuntu/- Ubuntu-based container definitionsDockerfile- Multi-stage build withbase,devcontainer, andcitargetsconfig/- User configuration files (e.g., tmux settings)
- Ubuntu 24.04 foundation
- Essential development tools (git, ripgrep, fzf, fd-find, jq, eza, tmux)
- Multiple shells (bash, zsh, fish)
- System-wide configuration and user setup
- Security: HTTPS-only APT repos, non-root user with sudo
- Extends base with full development environment
- Tools installed via
mise: Node.js (LTS), uv, neovim, starship, lazygit, github-cli, delta, task - Pre-configured shells with starship prompt
- Git configuration with delta diff tool and useful aliases
- German locale (de_DE.UTF-8) and Europe/Berlin timezone
- Docker-in-docker volume mount
- Lightweight CI runner image
- Extends base with Docker CLI
- Includes
ghrunneruser (UID 1001) for GitHub Actions
- Docker with Buildx enabled
MISE_GITHUB_TOKENenvironment variable (required for tool installation)
# Build all targets (default)
task
# Build specific target
task build:devcontainer:ubuntu
task build:ci:ubuntu
# Build target for single architecture
task build:all ARCHS=linux/amd64
task build:all ARCHS=linux/arm64Images are automatically built and pushed to GitHub Container Registry (ghcr.io) via GitHub Actions:
- Triggers: Pull requests, version tags (
v*.*.*), manual dispatch - Platforms: Multi-arch (amd64, arm64)
- Tags: Version tags,
latest,edge, commit SHA - Cleanup: Automated weekly cleanup of old SHA-tagged images
- ✅ Multi-arch support (amd64, arm64)
- ✅ Modern tooling stack (mise, starship, delta, neovim)
- ✅ Security best practices (HTTPS repos, non-root users)
- ✅ Docker-in-docker support
- ✅ Automated CI/CD with caching
- ✅ Comprehensive tooling pre-installed
Apache License 2.0