On current ZimaOS, do not follow Ubuntu instructions that install NVIDIA Container Toolkit with apt on the host. ZimaOS has its own NVIDIA driver/runtime integration, and its current Docker-app documentation shows GPU containers using runtime: nvidia plus NVIDIA_VISIBLE_DEVICES.
The 2025 source user had a generic x86 server with a GTX 1050 and correctly noticed that ZimaOS has no normal Debian package manager. Running the toolkit inside an Alpine container cannot solve the host runtime problem either—the NVIDIA runtime must exist at the Docker-host layer.
First Verify the Host GPU Driver
nvidia-smi
lspci -nnk | grep -A3 -Ei 'vga|3d|display'
If nvidia-smi cannot communicate with the GPU, Docker configuration is not the first problem.
Check Whether Docker Already Has NVIDIA Runtime
docker info | grep -i nvidia
ps aux | grep '[d]ockerd'
Current ZimaOS commonly starts Docker with the NVIDIA runtime available even on systems where it is not actively used.
Use the ZimaOS Runtime Model
The current ZimaOS NVIDIA Docker runtime guide shows:
services:
my-gpu-app:
image: your/image
runtime: nvidia
ipc: host
environment:
NVIDIA_VISIBLE_DEVICES: all
Why Installing the Toolkit in Another Container Does Not Work
NVIDIA Container Toolkit integrates with Docker/containerd on the host. NVIDIA's own NVIDIA Container Toolkit install guide uses nvidia-ctk runtime configure to modify the host Docker configuration and restart Docker.
Do Not Copy apt Instructions into ZimaOS
NVIDIA's installation guide assumes supported Debian/RPM-style distributions with host package managers. Current ZimaOS is not maintained that way, so host package instructions can conflict with the appliance image and update model.
Test GPU Access in a Container
Once the host driver and runtime are healthy, use a known GPU-enabled container or your target app to confirm that the device is actually visible inside the container.
GTX 1050 Has Workload Limits
A GTX 1050 may be adequate for some NVENC/NVDEC transcoding, but AI workloads such as current Immich machine learning can have stricter CUDA, VRAM, model, and framework requirements. “Docker sees the GPU” does not guarantee every app supports it.
Back Up App Configuration Before Changing Runtime Settings
Do not manually replace Docker service files or runtime configuration unless you can revert them. A bad host runtime configuration can stop all Docker apps, not just the GPU container.
The current GPU container guide provides a fuller current-vs-old software boundary.
Check the Runtime Inside the Target App
Host nvidia-smi proves only that the ZimaOS host driver sees the card. Open a shell in the actual GPU-enabled container and verify the device/runtime there; otherwise an app can silently fall back to CPU while the host GPU looks healthy.
Separate Transcoding from AI Compatibility
NVENC/NVDEC support, CUDA compute capability, VRAM, and application-specific frameworks are different constraints. A card that handles Plex/Jellyfin transcoding may still be too old or too small for a current ML model.
FAQ
Should I apt install nvidia-container-toolkit on ZimaOS?
No. Use the current ZimaOS NVIDIA runtime path rather than treating the host like Ubuntu.
Can I install the toolkit inside Alpine Docker?
No. The runtime integration must exist on the Docker host.
How do I know Docker sees NVIDIA?
Check docker info, the Docker daemon command/runtime, and then verify GPU access inside the target container.
Does host nvidia-smi prove Immich ML will work?
No. It proves host driver visibility; the container and application still need compatible CUDA/VRAM/runtime support.
