docs: update Netgrimoire/Pocket/Deployment_Guide

This commit is contained in:
Administrator 2026-02-22 03:55:41 +00:00 committed by John Smith
parent af208ae460
commit 15cd116d0f

View file

@ -2,7 +2,7 @@
title: Pocket Grimoire title: Pocket Grimoire
description: description:
published: true published: true
date: 2026-02-21T22:27:33.260Z date: 2026-02-22T03:55:29.977Z
tags: tags:
editor: markdown editor: markdown
dateCreated: 2026-02-20T04:41:35.122Z dateCreated: 2026-02-20T04:41:35.122Z
@ -364,9 +364,15 @@ sudo raspi-config
**Installation:** **Installation:**
```bash ```bash
sudo add-apt-repository ppa:unit193/encryption -y # Install dependencies
sudo apt update sudo apt install -y wget libfuse2
sudo apt install veracrypt -y
# Download VeraCrypt (check for latest version at veracrypt.fr)
wget https://launchpad.net/veracrypt/trunk/1.25.9/+download/veracrypt-1.25.9-Debian-12-arm64.deb
# Install VeraCrypt
sudo dpkg -i veracrypt-*.deb
sudo apt-get install -f # Fix any dependency issues
# Verify installation # Verify installation
veracrypt --text --version veracrypt --text --version
@ -601,9 +607,27 @@ sudo zfs create pocket-vault/veracrypt-containers # VeraCrypt (option
sudo chown -R 1000:1000 /mnt/pocket-vault sudo chown -R 1000:1000 /mnt/pocket-vault
``` ```
**Create GREEN pool (encrypted - personal media + Stash):** **GREEN pool - Use Existing vault/Green/Pocket Dataset:**
**IMPORTANT:** You already have an encrypted dataset `vault/Green/Pocket` on Netgrimoire with your personal media and Stash data. **Do NOT create a new pool from scratch.** Instead, you'll use ZFS send/receive to replicate this existing dataset to the GREEN drive.
```bash ```bash
# On Netgrimoire # On Netgrimoire
# Verify your existing dataset
zfs list vault/Green/Pocket
# Should show: vault/Green/Pocket 5.01T 2.49T 5.01T /export/Green/Pocket
# Check what's in it
ls /export/Green/Pocket/
# Should show: media/ and stash/ directories
# This dataset will be sent to the GREEN drive in the next step
# No need to create pocket-green datasets manually
```
**Create empty GREEN pool (will receive data via ZFS send):**
```bash
# On Netgrimoire with GREEN SSD connected
sudo zpool create -o ashift=12 \ sudo zpool create -o ashift=12 \
-O encryption=on \ -O encryption=on \
-O keylocation=prompt \ -O keylocation=prompt \
@ -617,19 +641,8 @@ sudo zpool create -o ashift=12 \
# Enter STRONG passphrase (can be different from VAULT) # Enter STRONG passphrase (can be different from VAULT)
# Write down this passphrase # Write down this passphrase
# Create datasets matching Netgrimoire structure # Don't create datasets manually - they'll be created by zfs receive
sudo zfs create pocket-green/media # Media library root # The pool is now ready to receive vault/Green/Pocket dataset
sudo zfs create pocket-green/media/library # Library directory
sudo zfs create pocket-green/media/library/movies # Movies
sudo zfs create pocket-green/media/library/tv # TV shows
sudo zfs create pocket-green/stash # Stash-Pocket data
sudo zfs create pocket-green/stash/config # Stash database
sudo zfs create pocket-green/stash/generated # Previews
sudo zfs create pocket-green/stash/blobs # Scene markers
sudo zfs create pocket-green/stash/cache # Cache (don't sync)
# Set ownership
sudo chown -R 1000:1000 /mnt/pocket-green
``` ```
**Create MEDIA-FAMILY pool (unencrypted - family content):** **Create MEDIA-FAMILY pool (unencrypted - family content):**
@ -688,6 +701,31 @@ du -sh /mnt/pocket-vault/
``` ```
**Perform initial sync to GREEN:** **Perform initial sync to GREEN:**
You have two options for syncing your existing `vault/Green/Pocket` dataset to the GREEN drive:
**Option A: Using Syncoid (Recommended - Easier)**
```bash
# On Netgrimoire with GREEN drive connected
# Syncoid handles snapshots and incremental transfers automatically
sudo syncoid vault/Green/Pocket pocket-green/Pocket
# Syncoid will:
# - Create snapshot automatically
# - Send data to pocket-green/Pocket
# - Show progress bar
# - Handle all ZFS send/receive details
# Verify received
zfs list pocket-green/Pocket
ls -lh /mnt/pocket-green/Pocket/
du -sh /mnt/pocket-green/Pocket/
```
**Option B: Manual ZFS Send (Advanced)**
```bash ```bash
# On Netgrimoire # On Netgrimoire
# You have an existing encrypted dataset: vault/Green/Pocket # You have an existing encrypted dataset: vault/Green/Pocket
@ -712,7 +750,13 @@ sudo zfs send vault/Green/Pocket@initial | \
zfs list pocket-green/Pocket zfs list pocket-green/Pocket
ls -lh /mnt/pocket-green/Pocket/ ls -lh /mnt/pocket-green/Pocket/
# The data structure should now be: # Verify data integrity
du -sh /mnt/pocket-green/Pocket/
```
**Both options create the same result:**
```
# The data structure will be:
# /mnt/pocket-green/Pocket/ # /mnt/pocket-green/Pocket/
# ├── media/library/ # ├── media/library/
# │ ├── movies/ # │ ├── movies/
@ -721,9 +765,6 @@ ls -lh /mnt/pocket-green/Pocket/
# ├── config/ # ├── config/
# ├── generated/ # ├── generated/
# └── blobs/ # └── blobs/
# Verify data integrity
du -sh /mnt/pocket-green/Pocket/
``` ```
**Important notes:** **Important notes:**
@ -732,8 +773,7 @@ du -sh /mnt/pocket-green/Pocket/
- `pocket-green` pool has its own encryption (encrypts during receive) - `pocket-green` pool has its own encryption (encrypts during receive)
- Result: Data is encrypted at rest on both systems with different keys - Result: Data is encrypted at rest on both systems with different keys
- The dataset name becomes `pocket-green/Pocket` (not `pocket-green/Green/Pocket`) - The dataset name becomes `pocket-green/Pocket` (not `pocket-green/Green/Pocket`)
- You MUST specify the full destination path including dataset name (`pocket-green/Pocket`) - **Recommended:** Use syncoid (Option A) - it's simpler and handles everything automatically
- Just specifying the pool name (`pocket-green`) will fail with "destination exists"
@ -1206,7 +1246,47 @@ sudo systemctl enable nfs-server
sudo exportfs -v sudo exportfs -v
``` ```
### 6. Install System Packages ### 6. Install Syncoid (ZFS Replication Tool)
**Syncoid** is a ZFS replication tool that makes syncing datasets much easier than manual ZFS send/receive.
```bash
# Install Sanoid (includes syncoid)
sudo apt update
sudo apt install -y sanoid
# Verify installation
which syncoid
syncoid --version
# Should show: syncoid version X.X.X
```
**What syncoid does:**
- ✅ Automatically creates snapshots
- ✅ Handles incremental ZFS send/receive
- ✅ Manages snapshot cleanup
- ✅ Shows progress bars
- ✅ Works over SSH
- ✅ Resumes interrupted transfers
**Example usage:**
```bash
# Local sync (same machine)
sudo syncoid source/dataset destination/dataset
# Remote sync over SSH
sudo syncoid --sshkey /path/to/key \
root@remote-host:source/dataset \
local/dataset
```
**You'll use this for:**
- Initial GREEN drive sync on Netgrimoire
- Ongoing syncs from Netgrimoire to Pocket Grimoire over network
- Much simpler than manual `zfs send` commands
### 7. Install System Packages
```bash ```bash
# Core utilities # Core utilities