docs: update Netgrimoire/Pocket/Stash_Integration

This commit is contained in:
Administrator 2026-02-21 06:11:26 +00:00 committed by John Smith
parent 61e402e735
commit 46740740db

View file

@ -2,7 +2,7 @@
title: Pocket Clips title: Pocket Clips
description: Integrating Stash description: Integrating Stash
published: true published: true
date: 2026-02-20T12:54:12.016Z date: 2026-02-21T06:11:15.579Z
tags: tags:
editor: markdown editor: markdown
dateCreated: 2026-02-20T04:48:11.191Z 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**: 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-Main** on Netgrimoire watches your entire media library
- **Stash-Pocket** on Netgrimoire watches only curated travel content - **Stash-Pocket** on Netgrimoire watches only curated personal content (GREEN drive)
- **Stash-Pocket** replicates to Pocket Grimoire for offline access - **Stash-Pocket** replicates to Pocket Grimoire's GREEN drive for offline access
This approach provides: This approach provides:
- Full library management at home (Stash-Main) - Full library management at home (Stash-Main)
- Curated travel subset with independent database (Stash-Pocket) - Curated personal subset with independent database (Stash-Pocket)
- Automatic synchronization via existing ZFS replication - Automatic synchronization via existing ZFS replication to GREEN drive
- Read-only browsing on travel with all previews pre-generated - Read-only browsing on travel with all previews pre-generated
- Zero CPU load on travel Pi (no scanning/generation) - 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. **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 ## Architecture
@ -48,30 +50,36 @@ This approach provides:
│ └─ Does NOT sync to Pocket │ │ └─ Does NOT sync to Pocket │
│ │ │ │
│ Stash Instance #2: "Stash-Pocket" (Port 9998) │ │ Stash Instance #2: "Stash-Pocket" (Port 9998) │
│ ├─ Watches: ONLY Pocket media │ │ ├─ Watches: ONLY Green/media (personal content) │
│ ├─ Location: /export/vault/Green/Pocket/ │ │ ├─ Location: /export/vault/Green/ │
│ │ ├── stash/config (database) │ │ │ ├── media/library/ (personal media) │
│ │ ├── stash/generated (previews) │ │ │ └── stash/ (Stash-Pocket data) │
│ │ ├── stash/blobs (markers) │ │ │ ├── config/ (database) │
│ │ └── media/library (curated content) │ │ │ ├── generated/ (previews) │
│ ├─ Database: 200MB-1GB (travel subset) │ │ │ └── blobs/ (markers) │
│ └─ SYNCS to Pocket via ZFS replication │ │ ├─ Database: 200MB-1GB (personal subset) │
│ └─ SYNCS to Pocket GREEN drive via ZFS │
│ │ │ │
└─────────────────────────────────────────────────────┘ └─────────────────────────────────────────────────────┘
↓ ZFS Send ↓ ZFS Send
(Entire /export/vault/Green/Pocket/ syncs) (Entire /export/vault/Green/ syncs to GREEN drive)
┌─────────────────────────────────────────────────────┐ ┌─────────────────────────────────────────────────────┐
│ POCKET GRIMOIRE (Travel) │ │ POCKET GRIMOIRE (Travel) │
├─────────────────────────────────────────────────────┤ ├─────────────────────────────────────────────────────┤
│ │ │ │
│ GREEN Drive (greenpg pool): │
│ ├─ /srv/greenpg/media/library/ (media files) │
│ └─ /srv/greenpg/stash/ (Stash data) │
│ │
│ Stash Instance: "Stash-Pocket" (Port 9999) │ │ Stash Instance: "Stash-Pocket" (Port 9999) │
│ ├─ Watches: Pocket media only (read-only) │ │ ├─ Watches: GREEN media only (read-only) │
│ ├─ Location: /srv/vaultpg/Green/Pocket/ │ │ ├─ Location: /srv/greenpg/ │
│ │ ├── stash/config (synced, read-only) │ │ │ ├── media/library/ (synced media) │
│ │ ├── stash/generated (synced, read-only) │ │ │ └── stash/ (synced, read-only) │
│ │ ├── stash/blobs (synced, read-only) │ │ │ ├── config/ (synced database) │
│ │ └── media/library (synced media files) │ │ │ ├── generated/ (synced previews) │
│ │ └── blobs/ (synced markers) │
│ ├─ Same database as Netgrimoire Stash-Pocket │ │ ├─ Same database as Netgrimoire Stash-Pocket │
│ └─ Browse only - no scanning or generation │ │ └─ Browse only - no scanning or generation │
│ │ │ │
@ -91,18 +99,18 @@ This approach provides:
- Stays on Netgrimoire (doesn't sync to Pocket) - Stays on Netgrimoire (doesn't sync to Pocket)
✅ **Stash-Pocket (Port 9998 at home, 9999 on travel):** ✅ **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) - Smaller database (faster, lighter)
- Independent from main library - Independent from main library
- Syncs to Pocket Grimoire automatically - Syncs to Pocket Grimoire's GREEN drive automatically
- Preview travel setup before trips - Preview personal setup before trips
✅ **Separation of Concerns:** ✅ **Separation of Concerns:**
- Main library can be massive (thousands of videos) - 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 - No confusion about what's available where
- Changes to main library don't affect travel copy - 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) 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) Database: 200MB-1GB (smaller subset)
Generated previews: 5-20GB Generated previews: 5-20GB
Blobs/markers: 1-5GB 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) 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) Stash data: ~6-26GB (synced from Netgrimoire)
Media files: ~500GB-1TB (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 ## Resource Impact