# Volume Mounts — NUC 14 Docker Stacks > Every bind mount and named volume across all running containers. > Last updated: May 16, 2026 ## Legend | Column | Meaning | |---|---| | **Type** | `bind` = host directory, `volume` = docker named volume, `tmpfs` = memory | | **Source** | Host path (bind) or volume name (volume) | | **Container** | Mount point inside container | | **UNAS** | `/mnt/pve/unas/services/` target (migrated or planned) | --- ## Infrastructure ### Arcane — `arcane` | Type | Source | Container | UNAS | |---|---|---|---| | bind | `/var/run/docker.sock` | `/var/run/docker.sock` | — | | bind | `/opt/stacks` | `/app/data/projects` | — | | **bind** | **`/mnt/pve/unas/services/arcane`** | **`/app/data`** | ✅ **Migrated** | | ~~volume~~ | ~~`arcane_arcane-data`~~ | ~~`/app/data`~~ | 🗑️ removed | ### Dozzle — `dozzle` | Type | Source | Container | UNAS | |---|---|---|---| | bind | `/opt/stacks/dozzle/dozzle_data` | `/data` | (optional, ephemeral) | | bind | `/var/run/docker.sock` | `/var/run/docker.sock` | — | ### Homepage — `homepage` | Type | Source | Container | UNAS | |---|---|---|---| | bind | `/opt/stacks/homepage/config` | `/app/config` | (keep in stack dir) | | bind | `/opt/stacks/homepage/icons` | `/app/public/icons` | (keep in stack dir) | | bind | `/var/run/docker.sock` | `/var/run/docker.sock` | — | --- ## Security ### Pocket ID — `pocketid` > **CT 110, not CT 104.** Pocket-ID migrated off CT 104 to its own LXC on 2026-05-20. | Type | Source | Container | Notes | |---|---|---|---| | bind | `/opt/stacks/pocketid/data` | `/app/data` | Local zfs on CT 110 — no UNAS mount | ### Vaultwarden — `vaultwarden` | Type | Source | Container | UNAS | |---|---|---|---| | **bind** | **`/mnt/pve/unas/services/vaultwarden`** | **`/data`** | ✅ **Already on UNAS** | | bind | `/etc/localtime` | `/etc/localtime` | — | | bind | `/etc/timezone` | `/etc/timezone` | — | --- ## Media — Immich ### Immich Server — `immich_server` | Type | Source | Container | UNAS | |---|---|---|---| | **bind** | **`/mnt/pve/unas/services/immich/encoded-video`** | `/usr/src/app/upload/encoded-video` | ✅ **Already on UNAS** | | **bind** | **`/mnt/pve/unas/services/immich/profile`** | `/usr/src/app/upload/profile` | ✅ **Already on UNAS** | | **bind** | **`/mnt/pve/unas/services/immich/thumbs`** | `/usr/src/app/upload/thumbs` | ✅ **Already on UNAS** | | **bind** | **`/mnt/pve/unas/media/images`** | `/usr/src/app/upload` | ✅ **Already on UNAS** | | **bind** | **`/mnt/pve/unas/backup/immich`** | `/usr/src/app/upload/backups` | ✅ **Already on UNAS** | | volume | `7d25f4ac...` (anonymous) | `/data` | (unknown, check) | ### Immich ML — `immich_machine_learning` | Type | Source | Container | UNAS | |---|---|---|---| | volume | `immich_model-cache` | `/cache` | (cache, regenerable) | | bind | `/dev/bus/usb` | `/dev/bus/usb` | — | ### Immich Postgres — `immich_postgres` | Type | Source | Container | UNAS | |---|---|---|---| | **bind** | **`/opt/stacks/immich/postgres`** | **`/var/lib/postgresql/data`** | ⏳ Plan: `immich/db` | --- ## Media — Downloads / Arr Stack All behind gluetun VPN. ### RDTClient — `rdtclient` | Type | Source | Container | UNAS | |---|---|---|---| | bind | `/opt/stacks/arr-stack/rdtclient/config` | `/data/db` | ⏳ Plan: `arr-stack/rdtclient` | | bind | `/opt/stacks/arr-stack/media/Torrents` | `/data/downloads` | ⏳ Plan: `arr-stack/torrents` | ### Prowlarr — `prowlarr` | Type | Source | Container | UNAS | |---|---|---|---| | bind | `/opt/stacks/arr-stack/prowlarr` | `/config` | ⏳ Plan: `arr-stack/prowlarr` | ### Audiobookshelf — `audiobookshelf` | Type | Source | Container | UNAS | |---|---|---|---| | bind | `/opt/stacks/arr-stack/audiobookshelf` | `/config` | ⏳ Plan: `arr-stack/audiobookshelf` | | bind | `/opt/stacks/arr-stack/media/audiobooks` | `/audiobooks` | ⏳ Plan: `arr-stack/audiobooks` | | bind | `/opt/stacks/arr-stack/media/ebooks` | `/ebooks` | ⏳ Plan: `arr-stack/ebooks` | | bind | `/opt/stacks/arr-stack/media/podcasts` | `/podcasts` | ⏳ Plan: `arr-stack/podcasts` | ### ShelfArr — `shelfarr` | Type | Source | Container | UNAS | |---|---|---|---| | bind | `/opt/stacks/arr-stack/shelfarr/storage` | `/rails/storage` | ⏳ Plan: `arr-stack/shelfarr` | | bind | `/opt/stacks/arr-stack/media/audiobooks` | `/audiobooks` | (shared) | | bind | `/opt/stacks/arr-stack/media/ebooks` | `/ebooks` | (shared) | | bind | `/opt/stacks/arr-stack/media/Torrents` | `/downloads` | (shared) | ### Flaresolverr — `flaresolverr` | Type | Source | Container | UNAS | |---|---|---|---| | bind | `/var/lib/flaresolver` | `/config` | (cache, regenerable) | --- ## AI Stack ### LiteLLM — `litellm` | Type | Source | Container | UNAS | |---|---|---|---| | bind | `/opt/stacks/ai/litellm-config` | `/app/config` | (keep in stack dir) | ### LiteLLM DB — `nuc-ai-core-litellm-db-1` | Type | Source | Container | UNAS | |---|---|---|---| | **bind** | **`/opt/stacks/ai/postgres_data`** | **`/var/lib/postgresql/data`** | ⏳ Plan: `ai/litellm-db` | ### ~~LobeHub~~ — DECOMMISSIONED 2026-05-26 LobeChat compose renamed `.DECOMMISSIONED-lobehub-2026-05-26.yml`. Volumes below are orphaned — clean up after confirming no data needed. | Type | Source | Container | UNAS | |---|---|---|---| | bind | `/opt/stacks/ai/lobehub/data` | `/var/lib/postgresql/data` | 🗑️ orphaned — decommissioned | ### ~~LobeHub Redis~~ — DECOMMISSIONED 2026-05-26 | Type | Source | Container | UNAS | |---|---|---|---| | volume | `nuc-ai-core_redis_data` | `/data` | 🗑️ orphaned — decommissioned | ### ~~LobeHub RustFS~~ — DECOMMISSIONED 2026-05-26 | Type | Source | Container | UNAS | |---|---|---|---| | volume | `nuc-ai-core_rustfs-data` | `/data` | 🗑️ orphaned — decommissioned | ### SearXNG — `searxng` | Type | Source | Container | UNAS | |---|---|---|---| | bind | `/opt/stacks/ai/searxng` | `/etc/searxng` | (keep in stack dir) | | volume | `bb5bb182...` (anonymous) | `/var/cache/searxng` | (cache, regenerable) | ### SearXNG Redis — `redis-searxng` | Type | Source | Container | UNAS | |---|---|---|---| | volume | `f9c3c386...` (anonymous) | `/data` | (ephemeral, stay) | ### SAIA Image Proxy — `nuc-ai-core-saia-image-proxy-1` | Type | Source | Container | UNAS | |---|---|---|---| | bind | `/opt/stacks/ai/saia-image-proxy` | `/app` | (keep in stack dir) | ### Crawl4AI — `crawl4ai-mcp` | Type | Source | Container | UNAS | |---|---|---|---| | tmpfs | `/dev/shm` | `/dev/shm` | — | --- ## Documents ### Paperless-ngx Webserver — `paperless-ngx-webserver-1` | Type | Source | Container | UNAS | |---|---|---|---| | **bind** | **`/mnt/pve/unas/media/documents/public/paperless-ngx/consume`** | `/usr/src/paperless/consume` | ✅ **Already on UNAS** | | **bind** | **`/mnt/pve/unas/media/documents/public/paperless-ngx/export`** | `/usr/src/paperless/export` | ✅ **Already on UNAS** | | **bind** | **`/mnt/pve/unas/media/documents/public/paperless-ngx/library`** | `/usr/src/paperless/media` | ✅ **Already on UNAS** | | volume | `paperless-ngx_data` | `/usr/src/paperless/data` | ⏳ Plan: `paperless-ngx/data` | ### Paperless-ngx DB — `paperless-ngx-db-1` | Type | Source | Container | UNAS | |---|---|---|---| | volume | `paperless-ngx_pgdata` | `/var/lib/postgresql/data` | ⏳ Plan: `paperless-ngx/pgdata` | ### Paperless-ngx Broker — `paperless-ngx-broker-1` | Type | Source | Container | UNAS | |---|---|---|---| | volume | `paperless-ngx_redisdata` | `/data` | (ephemeral, stay) | ### Paperless AI — `paperless-ai` | Type | Source | Container | UNAS | |---|---|---|---| | **bind** | **`/mnt/pve/unas/services/paperless-ai`** | **`/app/data`** | ✅ **Already on UNAS** | --- ## Productivity & Bookmarks ### Memos — `memos` | Type | Source | Container | UNAS | |---|---|---|---| | **bind** | **`/mnt/pve/unas/services/memos`** | **`/var/opt/memos`** | ✅ **Migrated** | | ~~bind~~ | ~~`/opt/stacks/memos/data`~~ | ~~`/var/opt/memos`~~ | 🗑️ replaced | ### Karakeep — `karakeep` | Type | Source | Container | UNAS | |---|---|---|---| | **bind** | **`/mnt/pve/unas/services/karakeep/data`** | **`/data`** | ✅ **Already on UNAS** | ### Karakeep Meilisearch — `karakeep_meilisearch` | Type | Source | Container | UNAS | |---|---|---|---| | **bind** | **`/mnt/pve/unas/services/karakeep/meilisearch`** | **`/meili_data`** | ✅ **Already on UNAS** | --- ## Automation ### n8n — `n8n` | Type | Source | Container | UNAS | |---|---|---|---| | **bind** | **`/mnt/pve/unas/services/n8n`** | **`/home/node/.n8n`** | ✅ **Migrated** | | bind | `/opt/stacks/n8n/hooks.js` | `/home/node/hooks.js` | (keep in stack dir) | | ~~volume~~ | ~~`n8n_n8n_storage`~~ | ~~`/home/node/.n8n`~~ | 🗑️ removed | --- ## DevOps ### Daytona API — `daytona-minimal-api-1` No DB-specific mounts needed (connects via env vars). ### Daytona DB — `daytona-minimal-db-1` | Type | Source | Container | UNAS | |---|---|---|---| | volume | `daytona-minimal_db_data` | `/var/lib/postgresql/data` | ⏳ Plan: `daytona/db` | ### Daytona Runner — `daytona-minimal-runner-1` | Type | Source | Container | UNAS | |---|---|---|---| | volume | `9416da14...` (anonymous) | `/var/lib/docker` | (runner state, stay) | | bind | `/var/run/docker.sock` | `/var/run/docker.sock` | — | --- ## Tracking ### Traccar — `traccar` | Type | Source | Container | UNAS | |---|---|---|---| | **bind** | **`/mnt/pve/unas/services/traccar/data`** | `/opt/traccar/data` | ✅ **Already on UNAS** | | **bind** | **`/mnt/pve/unas/services/traccar/logs`** | `/opt/traccar/logs` | ✅ **Already on UNAS** | | **bind** | **`/mnt/pve/unas/services/traccar/traccar.xml`** | `/opt/traccar/conf/traccar.xml` | ✅ **Already on UNAS** | --- ## VPN ### Gluetun — `vpn_gluetun` | Type | Source | Container | UNAS | |---|---|---|---| | **bind** | **`/mnt/pve/unas/services/gluetun/data`** | **`/gluetun`** | ✅ **Already on UNAS** | --- ## Shared Infrastructure ### Shared PostgreSQL — `shared-postgres` | Type | Source | Container | Notes | |---|---|---|---| | volume | `shared-db_shared-pgdata` | `/var/lib/postgresql/data` | 🗄️ Local NVMe (not NFS) | ### Garage S3 — `garage` > Moved off NFS to local zfs on 2026-05-19 after a WAL-G outage. Stale copy at `services/shared-db/garage/` on UNAS may still exist — clean up. | Type | Source | Container | Notes | |---|---|---|---| | bind | `/opt/stacks/shared-db/garage/data` | `/var/lib/garage/data` | S3 object data — local NVMe | | bind | `/opt/stacks/shared-db/garage/meta` | `/var/lib/garage/meta` | S3 metadata (LMDB) — local NVMe | --- ## Stacks Not Running (Compose Config Only) ### Streamio — `streamio` | Type | Source | Container | UNAS | |---|---|---|---| | **bind** | **`/mnt/pve/unas/services/stremio`** | **`/root/.stremio-server`** | ✅ **Already on UNAS** | ### Qdrant — `qdrant_scientific` | Type | Source | Container | UNAS | |---|---|---|---| | bind | `/opt/stacks/qdrant/qdrant_storage` | `/qdrant/storage` | ⏳ Plan: `qdrant/` | --- ## Summary: Migration Status | Status | Count | Services | |---|---|---| | ✅ Already on UNAS | 9 | gluetun, immich*(4), karakeep*(2), ntfy*(2), paperless-ai, stremio, traccar*(3), vaultwarden, paperless-docs*(3) | | ✅ Migrated (Phase 1) | 3 | memos, arcane, n8n | | 🔷 Shared infrastructure (local) | 2 | shared-postgres (local volume), garage (local NVMe — moved off UNAS 2026-05-19) | | 📋 Own CT, local only | 1 | pocketid (CT 110, no UNAS) | | ⏳ Phase 2 planned (PG consolidation) | 4 | immich → shared-postgres, paperless → shared-postgres, daytona → shared-postgres, litellm → shared-postgres | | 🗑️ Decommissioned 2026-05-26 | 3 | lobehub-db, lobe-redis, lobe-rustfs (LobeChat removed) | | ⏳ Phase 3 planned | 1 | arr-stack*(8 mounts) | | 📋 Keep local | ~5 | homepage, dozzle, litellm-config, searxng-config, saia-image-proxy | | 🧠 Cache (stay) | ~5 | immich_model-cache, paperless-ngx redis, lobe-redis, searxng-redis, flaresolverr, daytona-runner |