Volume Mounts — NUC 14 Docker Stacks
Every bind mount and named volume across all running containers.
Last updated: 2026-07-15 (live audit during CT 104 disk-full incident; reconciled with storage.md).
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 — DECOMMISSIONED 2026-05-26
Replaced by Portainer. Compose renamed /opt/stacks/arcane/docker-compose.yml.DECOMMISSIONED-2026-05-26; container not running. Its data was local (/opt/stacks/arcane/data), never UNAS — the earlier "✅ Migrated to services/arcane" row was wrong.
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
Fully on UNAS — verified running 2026-07-15. SQLite configs live on services/arr-stack/ and work fine over NFSv3 (low write rate). Library + downloads on the media/ share so imports hardlink within one export. Radarr/Sonarr are not deployed. All behind gluetun VPN. The old local /opt/stacks/arr-stack/media (27 GB) was a pre-migration copy — deleted 2026-07-15.
RDTClient — rdtclient
| Type |
Source |
Container |
UNAS |
| bind |
/mnt/pve/unas/services/arr-stack/rdtclient/config |
/data/db |
✅ On UNAS (SQLite) |
| bind |
/mnt/pve/unas/media/Torrents |
/data/downloads |
✅ On UNAS |
Prowlarr — prowlarr
| Type |
Source |
Container |
UNAS |
| bind |
/mnt/pve/unas/services/arr-stack/prowlarr |
/config |
✅ On UNAS (SQLite config) |
Audiobookshelf — audiobookshelf
In compose; config on services/arr-stack/audiobookshelf, media on the media/ share.
| Type |
Source |
Container |
UNAS |
| bind |
/mnt/pve/unas/services/arr-stack/audiobookshelf |
/config |
✅ On UNAS |
| bind |
/mnt/pve/unas/media/audiobooks |
/audiobooks |
✅ On UNAS |
| bind |
/mnt/pve/unas/media/ebooks |
/ebooks |
✅ On UNAS |
| bind |
/mnt/pve/unas/media/podcasts |
/podcasts |
✅ On UNAS |
ShelfArr — shelfarr
| Type |
Source |
Container |
UNAS |
| bind |
/mnt/pve/unas/services/arr-stack/shelfarr/storage |
/rails/storage |
✅ On UNAS (SQLite) |
| bind |
/mnt/pve/unas/media/audiobooks |
/audiobooks |
✅ (shared) |
| bind |
/mnt/pve/unas/media/ebooks |
/ebooks |
✅ (shared) |
| bind |
/mnt/pve/unas/media/Torrents |
/downloads |
✅ (shared) |
Flaresolverr — flaresolverr
| Type |
Source |
Container |
UNAS |
| bind |
/var/lib/flaresolver |
/config |
(cache, regenerable) |
AI Stack
LiteLLM — SUNSET 2026-05-26
Replaced by Bifrost (ai.nuclide.systems). Service block commented out in /opt/stacks/ai/docker-compose.yml; litellm-config retained as history only. LiteLLM DB container removed.
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 — mcp-crawl4ai
docker run MCP client (Bifrost) on ai-internal, no persistent mounts. Cache lives in the container writable layer (/home/appuser/.crawl4ai, SQLite) and grew to ~40 GB before the 2026-07-15 reset. Recreated with --shm-size 1g. TODO: bind-mount .crawl4ai to a capped local dir or purge periodically — it refills the disk otherwise.
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 + Karakeep — SUNSET 2026-07-10
Both fully wiped (service, containers, local + UNAS data, Postgres DB, Traefik routes, OIDC clients). See CHANGELOG and sunset-karakeep-memos. Do not restart. One residual: orphan Garage memos bucket needs a repair pass.
Automation
n8n — n8n
Data is local, not UNAS — reverted after a failed PG-migration attempt. The actual DB is shared-postgres (CT 113); .n8n holds config/creds only. A stale UNAS copy at services/n8n may linger.
| Type |
Source |
Container |
Notes |
| bind |
/opt/stacks/n8n/data |
/home/node/.n8n |
🗄️ Local NVMe |
| bind |
/opt/stacks/n8n/hooks.js |
/home/node/hooks.js |
(keep in stack dir) |
DevOps
Daytona — DECOMMISSIONED 2026-05-23
Never fully deployed; compose renamed .DECOMMISSIONED-2026-05-23. Orphaned daytona-minimal_db_data volume was cleaned up (verified 2026-05-22).
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. Keep local — metadata is SQLite (corrupts over NFS) and it now stores WAL-G backups for the whole PG fleet. See storage.md for bucket breakdown.
| Type |
Source |
Container |
Notes |
| bind |
/opt/stacks/shared-db/garage/data |
/var/lib/garage/data |
S3 object data — local NVMe (82 GB, mostly WAL-G) |
| bind |
/opt/stacks/shared-db/garage/meta |
/var/lib/garage/meta |
S3 metadata (SQLite, db_engine = sqlite) — 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 (reconciled 2026-07-15)
| Status |
Count |
Services |
| ✅ On UNAS |
8 |
gluetun, immich*(4 media dirs), paperless-ai, stremio, traccar*(3), vaultwarden, paperless-docs*(3), coder |
| ✅ On UNAS incl. SQLite configs |
1 |
arr-stack (prowlarr, rdtclient, shelfarr, audiobookshelf + media/downloads) |
| 🔷 Shared infrastructure (local) |
2 |
shared-postgres (local volume), garage (local NVMe, SQLite meta — keep local) |
| 🗄️ Reverted to local |
2 |
n8n (DB on CT 113), traccar data-dir |
| 📋 Own CT, local only |
1 |
pocketid (CT 110, no UNAS) |
| ⏳ Phase 2 planned (PG consolidation) |
2 |
immich → shared-postgres, paperless → shared-postgres |
| 🗑️ Sunset / decommissioned |
many |
karakeep + memos (2026-07-10); litellm, mcp-gateway, arcane, lobehub*(3), homepage (2026-05-2x); daytona (2026-05-23) |
| 📋 Keep local |
~4 |
dozzle, searxng-config, saia-image-proxy, flaresolverr |
| 🧠 Cache (stay) |
~4 |
immich_model-cache, paperless-ngx redis, searxng-redis, mcp-crawl4ai writable layer |