docs: update Netgrimoire/Pocket/Deployment_Guide
This commit is contained in:
parent
af208ae460
commit
15cd116d0f
1 changed files with 106 additions and 26 deletions
|
|
@ -2,7 +2,7 @@
|
|||
title: Pocket Grimoire
|
||||
description:
|
||||
published: true
|
||||
date: 2026-02-21T22:27:33.260Z
|
||||
date: 2026-02-22T03:55:29.977Z
|
||||
tags:
|
||||
editor: markdown
|
||||
dateCreated: 2026-02-20T04:41:35.122Z
|
||||
|
|
@ -364,9 +364,15 @@ sudo raspi-config
|
|||
**Installation:**
|
||||
|
||||
```bash
|
||||
sudo add-apt-repository ppa:unit193/encryption -y
|
||||
sudo apt update
|
||||
sudo apt install veracrypt -y
|
||||
# Install dependencies
|
||||
sudo apt install -y wget libfuse2
|
||||
|
||||
# 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
|
||||
veracrypt --text --version
|
||||
|
|
@ -601,9 +607,27 @@ sudo zfs create pocket-vault/veracrypt-containers # VeraCrypt (option
|
|||
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
|
||||
# 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 \
|
||||
-O encryption=on \
|
||||
-O keylocation=prompt \
|
||||
|
|
@ -617,19 +641,8 @@ sudo zpool create -o ashift=12 \
|
|||
# Enter STRONG passphrase (can be different from VAULT)
|
||||
# Write down this passphrase
|
||||
|
||||
# Create datasets matching Netgrimoire structure
|
||||
sudo zfs create pocket-green/media # Media library root
|
||||
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
|
||||
# Don't create datasets manually - they'll be created by zfs receive
|
||||
# The pool is now ready to receive vault/Green/Pocket dataset
|
||||
```
|
||||
|
||||
**Create MEDIA-FAMILY pool (unencrypted - family content):**
|
||||
|
|
@ -688,6 +701,31 @@ du -sh /mnt/pocket-vault/
|
|||
```
|
||||
|
||||
**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
|
||||
# On Netgrimoire
|
||||
# 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
|
||||
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/
|
||||
# ├── media/library/
|
||||
# │ ├── movies/
|
||||
|
|
@ -721,9 +765,6 @@ ls -lh /mnt/pocket-green/Pocket/
|
|||
# ├── config/
|
||||
# ├── generated/
|
||||
# └── blobs/
|
||||
|
||||
# Verify data integrity
|
||||
du -sh /mnt/pocket-green/Pocket/
|
||||
```
|
||||
|
||||
**Important notes:**
|
||||
|
|
@ -732,8 +773,7 @@ du -sh /mnt/pocket-green/Pocket/
|
|||
- `pocket-green` pool has its own encryption (encrypts during receive)
|
||||
- Result: Data is encrypted at rest on both systems with different keys
|
||||
- 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`)
|
||||
- Just specifying the pool name (`pocket-green`) will fail with "destination exists"
|
||||
- **Recommended:** Use syncoid (Option A) - it's simpler and handles everything automatically
|
||||
|
||||
|
||||
|
||||
|
|
@ -1206,7 +1246,47 @@ sudo systemctl enable nfs-server
|
|||
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
|
||||
# Core utilities
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue