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
|
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
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue