Docker Services¶
This section covers Docker setup and containerized services for the MS-S1 MAX.
Overview¶
Docker runs services with data stored on ZFS datasets.
Golden Rule¶
Containers are disposable. Data is not.
All persistent data lives on ZFS via bind mounts.
Bind Mounts vs Docker Volumes¶
| Approach | Use Case |
|---|---|
| Bind mounts | All persistent data (default) |
| Docker volumes | Small, disposable state only |
Why Bind Mounts?¶
- Transparent paths
- Backed by ZFS datasets
- Easy snapshots and backups
- Human-inspectable
Sections¶
- Docker Setup — Install Docker on Ubuntu 26.04 (with
resolute -> noblefallback) and configure the daemon - Docker vs LXC — When to pick which on this build
- Docker Compose — Compose Spec, project structure, common patterns
- Resource Limits — Container memory, CPU, GPU, and device constraints
- Development Stacks — Postgres, Redis, Elasticsearch, etc. for dev
- Ollama Stack — ROCm-backed Ollama + Open WebUI compose
- Monitoring — Prometheus + Grafana + Loki + cAdvisor
- Nextcloud — Self-hosted cloud storage
- Plex — Media server (with iGPU transcoding caveat — see notes inside)