diff --git a/Netgrimoire/Pocket/Stash_Integration.md b/Netgrimoire/Pocket/Stash_Integration.md index 0af32dc..0d82360 100644 --- a/Netgrimoire/Pocket/Stash_Integration.md +++ b/Netgrimoire/Pocket/Stash_Integration.md @@ -2,7 +2,7 @@ title: Pocket Clips description: Integrating Stash published: true -date: 2026-02-20T12:54:12.016Z +date: 2026-02-21T06:11:15.579Z tags: editor: markdown dateCreated: 2026-02-20T04:48:11.191Z @@ -18,18 +18,20 @@ dateCreated: 2026-02-20T04:48:11.191Z This guide extends the Pocket Grimoire deployment to include Stash using a **two-instance architecture**: - **Stash-Main** on Netgrimoire watches your entire media library -- **Stash-Pocket** on Netgrimoire watches only curated travel content -- **Stash-Pocket** replicates to Pocket Grimoire for offline access +- **Stash-Pocket** on Netgrimoire watches only curated personal content (GREEN drive) +- **Stash-Pocket** replicates to Pocket Grimoire's GREEN drive for offline access This approach provides: - Full library management at home (Stash-Main) -- Curated travel subset with independent database (Stash-Pocket) -- Automatic synchronization via existing ZFS replication +- Curated personal subset with independent database (Stash-Pocket) +- Automatic synchronization via existing ZFS replication to GREEN drive - Read-only browsing on travel with all previews pre-generated - Zero CPU load on travel Pi (no scanning/generation) **Key Principle:** All intensive operations happen on Netgrimoire. Pocket Grimoire just serves pre-generated content in read-only mode. +**Important:** Stash data lives on the GREEN drive (personal media), NOT on VAULT. VAULT is for backups only. + --- ## Architecture @@ -48,30 +50,36 @@ This approach provides: │ └─ Does NOT sync to Pocket │ │ │ │ Stash Instance #2: "Stash-Pocket" (Port 9998) │ -│ ├─ Watches: ONLY Pocket media │ -│ ├─ Location: /export/vault/Green/Pocket/ │ -│ │ ├── stash/config (database) │ -│ │ ├── stash/generated (previews) │ -│ │ ├── stash/blobs (markers) │ -│ │ └── media/library (curated content) │ -│ ├─ Database: 200MB-1GB (travel subset) │ -│ └─ SYNCS to Pocket via ZFS replication │ +│ ├─ Watches: ONLY Green/media (personal content) │ +│ ├─ Location: /export/vault/Green/ │ +│ │ ├── media/library/ (personal media) │ +│ │ └── stash/ (Stash-Pocket data) │ +│ │ ├── config/ (database) │ +│ │ ├── generated/ (previews) │ +│ │ └── blobs/ (markers) │ +│ ├─ Database: 200MB-1GB (personal subset) │ +│ └─ SYNCS to Pocket GREEN drive via ZFS │ │ │ └─────────────────────────────────────────────────────┘ ↓ ZFS Send - (Entire /export/vault/Green/Pocket/ syncs) + (Entire /export/vault/Green/ syncs to GREEN drive) ↓ ┌─────────────────────────────────────────────────────┐ │ POCKET GRIMOIRE (Travel) │ ├─────────────────────────────────────────────────────┤ │ │ +│ GREEN Drive (greenpg pool): │ +│ ├─ /srv/greenpg/media/library/ (media files) │ +│ └─ /srv/greenpg/stash/ (Stash data) │ +│ │ │ Stash Instance: "Stash-Pocket" (Port 9999) │ -│ ├─ Watches: Pocket media only (read-only) │ -│ ├─ Location: /srv/vaultpg/Green/Pocket/ │ -│ │ ├── stash/config (synced, read-only) │ -│ │ ├── stash/generated (synced, read-only) │ -│ │ ├── stash/blobs (synced, read-only) │ -│ │ └── media/library (synced media files) │ +│ ├─ Watches: GREEN media only (read-only) │ +│ ├─ Location: /srv/greenpg/ │ +│ │ ├── media/library/ (synced media) │ +│ │ └── stash/ (synced, read-only) │ +│ │ ├── config/ (synced database) │ +│ │ ├── generated/ (synced previews) │ +│ │ └── blobs/ (synced markers) │ │ ├─ Same database as Netgrimoire Stash-Pocket │ │ └─ Browse only - no scanning or generation │ │ │ @@ -91,18 +99,18 @@ This approach provides: - Stays on Netgrimoire (doesn't sync to Pocket) ✅ **Stash-Pocket (Port 9998 at home, 9999 on travel):** -- Manages only curated travel content +- Manages only curated personal content (GREEN drive) - Smaller database (faster, lighter) - Independent from main library -- Syncs to Pocket Grimoire automatically -- Preview travel setup before trips +- Syncs to Pocket Grimoire's GREEN drive automatically +- Preview personal setup before trips ✅ **Separation of Concerns:** - Main library can be massive (thousands of videos) -- Travel subset is manageable (hundreds of videos) +- Personal subset is manageable (hundreds of videos) - No confusion about what's available where - Changes to main library don't affect travel copy -- Faster sync times (only travel data replicates) +- Faster sync times (only GREEN data replicates) --- @@ -120,37 +128,38 @@ Blobs/markers: 5-20GB Total: ~56-225GB (stays on Netgrimoire) ``` -**Stash-Pocket (DOES sync):** +**Stash-Pocket (DOES sync to GREEN drive):** ``` -Location: /export/vault/Green/Pocket/stash/ +Location: /export/vault/Green/stash/ Database: 200MB-1GB (smaller subset) Generated previews: 5-20GB Blobs/markers: 1-5GB ───────────────────────────────────────────── -Total: ~6-26GB (syncs to Pocket) +Total: ~6-26GB (syncs to Pocket GREEN) ``` -**Pocket Media:** +**Personal Media (syncs to GREEN drive):** ``` -Location: /export/vault/Green/Pocket/media/ +Location: /export/vault/Green/media/ Content: 500GB-1TB (curated for travel) ───────────────────────────────────────────── -Total Pocket data: ~506GB-1TB (entire Green/Pocket/ directory) +Total Green data: ~506GB-1TB (entire /Green/ directory) ``` -### On Pocket Grimoire (Vault SSD) +### On Pocket Grimoire (GREEN Drive) ``` -Location: /srv/vaultpg/Green/Pocket/ +Location: /srv/greenpg/ Stash data: ~6-26GB (synced from Netgrimoire) Media files: ~500GB-1TB (synced from Netgrimoire) -Wiki/photos/docs: ~10-50GB (already syncing) ───────────────────────────────────────────── -Total: ~516GB-1.1TB on Vault SSD +Total: ~506GB-1TB on GREEN SSD -This fits comfortably on a 1-2TB Vault SSD. +This fits comfortably on a 2TB+ GREEN SSD. ``` +**Note:** VAULT drive contains backups only (no Stash, no media). + --- ## Resource Impact