docs: update Netgrimoire/Pocket/Stash_Integration
This commit is contained in:
parent
61e402e735
commit
46740740db
1 changed files with 45 additions and 36 deletions
|
|
@ -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
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue