diff --git a/README.md b/README.md index 45dbfce..bb8208d 100644 --- a/README.md +++ b/README.md @@ -108,7 +108,7 @@ On the Debian host: minor, currently `v1.36` - SSH access to worker nodes - SSH access to the OCI edge host -- enough persistent storage for `/data/openebs/local` and `/data/docker` +- enough persistent storage for `/data/openebs/local` and Docker's data root After a clean Debian reinstall, bootstrap the host package set and desktop configuration first: @@ -672,11 +672,10 @@ destroy/create cycles. Those critical volumes are declared explicitly as retained local PVs so a rebuilt cluster binds back to the same host paths instead of creating fresh directories. -For the current lab, the HP Debian laptop's NVMe is managed by LVM volume group -`data-vg` and mounted under `/data`. OpenEBS retained hostpath data lives under -`/data/openebs/local`, and Docker data should live under `/data/docker` where -the host is configured that way. This keeps retained PVs, container layers, -Buildx state, and image caches from filling `/`. +For the current lab, the HP Debian laptop's root filesystem is on NVMe, so the +standard Docker root `/var/lib/docker` is acceptable. OpenEBS retained hostpath +data still lives under `/data/openebs/local`, and larger service data such as +Gitea, Ollama models, and app volumes should stay under `/data`. ## Gitea @@ -685,9 +684,8 @@ always-on Docker Compose service from `infra/gitea/docker-compose.yml`, not as a Kubernetes workload. This keeps Git available when the Kubernetes cluster is destroyed and rebuilt. -The default data path is `/data/homelab-gitea/data` on the HP laptop NVMe. The -Docker root is also expected to live on the `/data` storage path rather than the -root filesystem. +The default data path is `/data/homelab-gitea/data` on the HP laptop NVMe. +Docker may use the standard `/var/lib/docker` root because `/` is also on NVMe. Public source browsing stays available through `https://lab2025.duckdns.org/git/`. Registration is disabled and anonymous users diff --git a/README.md.tmpl b/README.md.tmpl index b43f2d4..68d89b6 100644 --- a/README.md.tmpl +++ b/README.md.tmpl @@ -108,7 +108,7 @@ On the Debian host: minor, currently `v1.36` - SSH access to worker nodes - SSH access to the OCI edge host -- enough persistent storage for `/data/openebs/local` and `/data/docker` +- enough persistent storage for `/data/openebs/local` and Docker's data root After a clean Debian reinstall, bootstrap the host package set and desktop configuration first: @@ -672,11 +672,10 @@ destroy/create cycles. Those critical volumes are declared explicitly as retained local PVs so a rebuilt cluster binds back to the same host paths instead of creating fresh directories. -For the current lab, the HP Debian laptop's NVMe is managed by LVM volume group -`data-vg` and mounted under `/data`. OpenEBS retained hostpath data lives under -`/data/openebs/local`, and Docker data should live under `/data/docker` where -the host is configured that way. This keeps retained PVs, container layers, -Buildx state, and image caches from filling `/`. +For the current lab, the HP Debian laptop's root filesystem is on NVMe, so the +standard Docker root `/var/lib/docker` is acceptable. OpenEBS retained hostpath +data still lives under `/data/openebs/local`, and larger service data such as +Gitea, Ollama models, and app volumes should stay under `/data`. ## Gitea @@ -685,9 +684,8 @@ always-on Docker Compose service from `infra/gitea/docker-compose.yml`, not as a Kubernetes workload. This keeps Git available when the Kubernetes cluster is destroyed and rebuilt. -The default data path is `/data/homelab-gitea/data` on the HP laptop NVMe. The -Docker root is also expected to live on the `/data` storage path rather than the -root filesystem. +The default data path is `/data/homelab-gitea/data` on the HP laptop NVMe. +Docker may use the standard `/var/lib/docker` root because `/` is also on NVMe. Public source browsing stays available through `https://lab2025.duckdns.org/git/`. Registration is disabled and anonymous users diff --git a/apps/demos-static/public/homelab-catalog/index.html b/apps/demos-static/public/homelab-catalog/index.html index c7311d8..8a1e6b2 100644 --- a/apps/demos-static/public/homelab-catalog/index.html +++ b/apps/demos-static/public/homelab-catalog/index.html @@ -25,7 +25,7 @@

debian

Address: 192.168.100.73

Tailscale: 100.85.138.30

-

Storage: /data/docker

+

Storage: /var/lib/docker

dns-edge-worker diff --git a/bootstrap/host/group_vars/debian_pc.yml b/bootstrap/host/group_vars/debian_pc.yml index bcdc854..8f30bc5 100644 --- a/bootstrap/host/group_vars/debian_pc.yml +++ b/bootstrap/host/group_vars/debian_pc.yml @@ -16,7 +16,6 @@ debian_pc_ollama_igpu_enable: "false" debian_pc_persistent_directories: - /data/openebs/local/registry - - /data/docker - /data/ollama/models - "/home/{{ debian_pc_user }}/git-server" - "/home/{{ debian_pc_user }}/backups/gitea" diff --git a/docs/service-catalog.md b/docs/service-catalog.md index 2974b29..6ac0552 100644 --- a/docs/service-catalog.md +++ b/docs/service-catalog.md @@ -9,7 +9,7 @@ Update `homelab.yml`, then run `scripts/render-service-catalog`. | Host | Role | Address | Tailscale | Storage | | --- | --- | --- | --- | --- | -| debian | control-plane | 192.168.100.73 | 100.85.138.30 | /data/docker | +| debian | control-plane | 192.168.100.73 | 100.85.138.30 | /var/lib/docker | | rpi4 | dns-edge-worker | 192.168.100.89 | 100.77.80.72 | /nvme-storage/docker | | opi5_pimox | pimox | 192.168.100.80 | | opi5_ssd | | oci_edge | public-edge | 132.145.170.74 | 100.118.255.19 | | diff --git a/homelab.yml b/homelab.yml index 2573b15..02fc908 100644 --- a/homelab.yml +++ b/homelab.yml @@ -39,7 +39,7 @@ hosts: user: jv lan_ip: 192.168.100.73 tailscale_ip: 100.85.138.30 - docker_root: /data/docker + docker_root: /var/lib/docker data_root: /data kubeconfig: /home/jv/.kube/config rpi4: diff --git a/jeannie b/jeannie index db8a4d7..26ce046 100755 --- a/jeannie +++ b/jeannie @@ -1067,7 +1067,7 @@ check_gitea_reachable() { } check_debian_docker_root() { - local expected_root="${LAB_DEBIAN_DOCKER_ROOT:-/data/docker}" + local expected_root="${LAB_DEBIAN_DOCKER_ROOT:-/var/lib/docker}" local actual_root if ! command -v docker >/dev/null 2>&1; then @@ -1082,7 +1082,7 @@ check_debian_docker_root() { } fix_debian_docker_root() { - local expected_root="${LAB_DEBIAN_DOCKER_ROOT:-/data/docker}" + local expected_root="${LAB_DEBIAN_DOCKER_ROOT:-/var/lib/docker}" local daemon_file="/etc/docker/daemon.json" local current_root="" @@ -1228,7 +1228,7 @@ homelab_preflight() { echo "Running homelab preflight checks from ${HOMELAB_INVENTORY_FILE:-${REPO_ROOT}/homelab.yml}..." preflight_check "Gitea reachable at ${LAB_GITEA_LOCAL_URL:-http://${LAB_GITEA_HOST:-192.168.100.73}:${LAB_GITEA_HTTP_PORT:-3000}/}" check_gitea_reachable || failures=$((failures + 1)) - preflight_check "Debian Docker root is ${LAB_DEBIAN_DOCKER_ROOT:-/data/docker}" check_debian_docker_root || failures=$((failures + 1)) + preflight_check "Debian Docker root is ${LAB_DEBIAN_DOCKER_ROOT:-/var/lib/docker}" check_debian_docker_root || failures=$((failures + 1)) preflight_check "Debian Tailscale IP ${LAB_DEBIAN_TAILSCALE_IP:-unset}" check_debian_tailscale_ip || failures=$((failures + 1)) preflight_check "RPi Docker root is NVMe or fallback" check_rpi_docker_root_state || failures=$((failures + 1)) preflight_warn "RPi Tailscale IP ${LAB_RPI_TAILSCALE_IP:-unset}" check_rpi_tailscale_ip @@ -4340,7 +4340,7 @@ status_report() { printf 'date: %s\n' "$(date -Is)" printf 'uptime: %s\n' "$(uptime -p 2>/dev/null || uptime)" status_run "memory" free -h - status_run "disk" df -h / /data /data/docker /data/openebs/local + status_run "disk" df -h / /data /data/openebs/local status_section "Systemd" status_systemd_units ssh docker containerd kubelet tailscaled homelab-gitea-runner