โ ๏ธ Important: add the current user to the docker groupsudo usermod -aG docker $USERYou can only push to ghcr.io without sudo when the user is in the docker group.
- About The Project
- Getting Started
- Tests
- Roadmap
- Troubleshooting
- Contributing
- License
- Contact
- Acknowledgements
- Literature
This project ships ready-to-build Dockerfiles for multiple targets in a single repo.
Container registry: ghcr.io/kataglyphis/kataglyphis_beschleuniger โ published multi-arch images (Linux base, Torch add-on, webserver) and Windows build image.
Published images and tag hints:
| Image | Platforms | Tag examples | Description |
|---|---|---|---|
| ghcr.io/kataglyphis/kataglyphis_beschleuniger | linux/amd64, linux/arm64, linux/riscv64 | latest |
Base Linux toolchain image with Clang/GCC, Rust, Vulkan, GStreamer, Android SDK/NDK. |
| ghcr.io/kataglyphis/kataglyphis_beschleuniger:webserver | linux/amd64, linux/arm64 (as pushed) | webserver, webserver-<git-sha> |
Minimal nginx static webserver image. |
| ghcr.io/kataglyphis/kataglyphis_beschleuniger:winamd64 | windows/amd64 | winamd64 |
Windows Server Core 2025 build image with MSVC, LLVM/Clang, Vulkan SDK, Rust, Flutter, WiX. |
Images in this repository:
- ๐ฆ linux/Dockerfile: Ubuntu 24.04 toolchain image (Clang/GCC, Rust, Vulkan, GStreamer, Android SDK/NDK for x86_64).
- ๐ฅ linux/torch/Dockerfile: Torch/Python add-on on top of the base image.
- ๐ linux/webserver/Dockerfile: Minimal nginx static webserver (config at linux/webserver/nginx.conf).
- ๐ช windows/Dockerfile: Windows Server Core 2025 build image with MSVC Build Tools, LLVM/Clang, Vulkan SDK, Rust, Flutter, WiX.
What you get:
- โ Multi-arch builds via buildx/nerdctl.
- ๐ฎ Vulkan + toolchains ready for GPU passthrough.
- ๐ง Optional Torch layer for Python/ROCm work.
- ๐ก Ready-to-serve static web content with nginx.
- ๐ช Windows Server 2025 x64 Clang 21.7.0 and MSVC Build Tools 2026.
- ๐ง Ubuntu 24.04 x64 Clang 21.7.0.
- ๐ง Ubuntu 24.04 ARM Clang 21.7.0.
| Category | Feature | Status |
|---|---|---|
| Packaging agnostic | Binary-only deployment | โ๏ธ |
| Packaging agnostic | Lore ipsum | โ๏ธ |
| Lore ipsum agnostic | LORE IPSUM | โ๏ธ |
| Lore ipsum agnostic | Advanced unit testing | ๐ถ |
| Lore ipsum agnostic | Advanced performance testing | ๐ถ |
| Lore ipsum agnostic | Advanced fuzz testing | ๐ถ |
Legend: โ๏ธ completed ยท ๐ถ in progress ยท โ not started
This enumeration also includes submodules.
Handy extras that pair well with the images.
sudo nerdctl run -it --rm ghcr.io/kataglyphis/kataglyphis_beschleuniger:latest
# on Windows you must expose ports one by one
sudo nerdctl run -it --rm -p 8443:8443 ghcr.io/kataglyphis/kataglyphis_beschleuniger:latestnerdctl build --platform linux/riscv64 --build-arg GSTREAMER_VERSION=1.25.90 --no-cache -t ghcr.io/kataglyphis/kataglyphis_beschleuniger:riscv -f linux/Dockerfile .Always build with --platform:
docker buildx imagetools create --tag ghcr.io/kataglyphis/kataglyphis_beschleuniger:latest_multiarch ghcr.io/kataglyphis/kataglyphis_beschleuniger:latest ghcr.io/kataglyphis/kataglyphis_beschleuniger:amd64cat > /tmp/buildkitd.toml <<'TOML'
# limit BuildKit worker parallelism to 2 (set to 1 on very small machines)
[worker.oci]
max-parallelism = 2
TOMLnerdctl run --rm --privileged tonistiigi/binfmt --install all
sudo nerdctl login ghcr.io/kataglyphis/kataglyphis_beschleuniger:latest -u Kataglyphis
sudo nerdctl build \
--platform=linux/arm64,linux/amd64,linux/riscv64 \
-t ghcr.io/kataglyphis/kataglyphis_beschleuniger:latest \
--output 'type=image,name=ghcr.io/kataglyphis/kataglyphis_beschleuniger:latest,push=true' \
--cache-to=type=registry,ref=ghcr.io/kataglyphis/kataglyphis_beschleuniger:buildcache,mode=max,oci-mediatypes=true \
--cache-from=type=registry,ref=ghcr.io/kataglyphis/kataglyphis_beschleuniger:buildcache \
--build-arg BUILD_DATE="$(date -u +'%Y-%m-%dT%H:%M:%SZ')" \
--build-arg VCS_REF="$(git rev-parse --short HEAD)" \
--build-arg BUILD_BY="local" \
-f linux/Dockerfile . 2>&1 | tee -a output.logsudo docker buildx build \
-f linux/Dockerfile \
--platform linux/amd64,linux/arm64 \
-t ghcr.io/kataglyphis/kataglyphis_beschleuniger:latest \
-t ghcr.io/kataglyphis/kataglyphis_beschleuniger:$(git rev-parse --short HEAD) \
--cache-to=type=registry,ref=ghcr.io/kataglyphis/kataglyphis_beschleuniger:buildcache,mode=max,oci-mediatypes=true \
--cache-from=type=registry,ref=ghcr.io/kataglyphis/kataglyphis_beschleuniger:buildcache \
--build-arg BUILD_DATE="$(date -u +'%Y-%m-%dT%H:%M:%SZ')" \
--build-arg VCS_REF="$(git rev-parse --short HEAD)" \
--build-arg BUILD_BY="local" \
--push \
.docker buildx rm mybuilder 2>/dev/null || true
docker buildx create --name mybuilder --driver docker-container --buildkitd-config /tmp/buildkitd.toml --use --nerdctl run --rm --privileged tonistiigi/binfmt --install all
nerdctl build --platform linux/amd64,linux/arm64,linux/riscv64 -t ghcr.io/kataglyphis/kataglyphis_beschleuniger:latest -f linux/Dockerfile .Builds on the base image:
docker build -t ghcr.io/kataglyphis/kataglyphis_beschleuniger:torch -f linux/torch/Dockerfile .docker build -t kataglyphis-webserver:latest -f linux/webserver/Dockerfile .
docker run -d --name kataglyphis-webserver \
-p 8080:80 \
-v "$(pwd)/linux/webserver/dist:/var/www/html" \
-v "$(pwd)/linux/webserver/nginx.conf:/etc/nginx/nginx.conf:ro" \
kataglyphis-webserver:latestRun with frontend display support:
nerdctl run --rm -it \
-e DISPLAY=$DISPLAY \
-e WAYLAND_DISPLAY=$WAYLAND_DISPLAY \
-e XDG_RUNTIME_DIR=$XDG_RUNTIME_DIR \
-e PULSE_SERVER=$PULSE_SERVER \
-v /mnt/wslg:/mnt/wslg \
-v /tmp/.X11-unix:/tmp/.X11-unix \
-v $XDG_RUNTIME_DIR:$XDG_RUNTIME_DIR \
-v "$(pwd)":/workspace \
--workdir /workspace \
ghcr.io/kataglyphis/kataglyphis_beschleuniger:latestC:\PATH_TO_NERDCTL\nerdctl.exe build --platform windows/amd64 `
--progress=plain --no-cache `
-t ghcr.io/kataglyphis/kataglyphis_beschleuniger:winamd64 `
-f windows/Dockerfile .- Docker with buildx/nerdctl support.
- GPU passthrough configured when building Vulkan-enabled images.
- Clone the repo:
git clone --recurse-submodules [email protected]:Kataglyphis/Kataglyphis-ContainerHub.git
Add test steps here as they become available.
Upcoming :)
-
Symptom: caching is weird or files cannot be found.
Solution:# change this line RUSTC_WRAPPER= /usr/bin/sccache \ # to RUSTC_WRAPPER="" \
- Symptom: no space left on this device
Solution:
Don't write to
tmp/folder! This is stupid. Write to tmp2 f.e.
- Symptom: no space left on this device
Solution:
Don't write to
Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
- Fork the project.
- Create your feature branch (
git checkout -b feature/AmazingFeature). - Commit your changes (
git commit -m 'Add some AmazingFeature'). - Push to the branch (
git push origin feature/AmazingFeature). - Open a pull request.
# list if camera is available
v4l2-ctl --list-devicesAdd your license details here.
Jonas Heinle - @Cataglyphis_ - [email protected]
Project Link: https://github.com/Kataglyphis/...
Thanks for free 3D models:
Some very helpful literature, tutorials, etc.