6c401f2376
- Bifrost replaces LiteLLM at ai.nuclide.systems (CT 104:14003); LiteLLM now internal-only backend at :14000 - mcp-gateway (FastAPI/DinD, mcp.nuclide.systems) decommissioned 2026-05-26; MCP now served by Bifrost at ai.nuclide.systems/mcp (29 clients, ~760 tools) - LobeChat decommissioned 2026-05-26; chat.nuclide.systems now Open WebUI (CT 104:14002, stack ai/open-webui.yml) - Update portmap, volumes, services-overview, homelab-architecture, zoraxy, mcp-servers, databases, README accordingly Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
12 KiB
12 KiB
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 |
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 |
/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) |
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 |