diff --git a/.obsidian/workspace.json b/.obsidian/workspace.json index e13c17c..2faa779 100644 --- a/.obsidian/workspace.json +++ b/.obsidian/workspace.json @@ -209,6 +209,7 @@ }, "active": "b145af38583e5d9a", "lastOpenFiles": [ + "100 inbox/Photo Consolidation Plan.md", "000 daily/Daily Notes and To Do.md", "300 areas/350 AI/Pi Agent Extensions & Skills.md", "300 areas/350 AI/LLM - models to consider.md", @@ -239,7 +240,6 @@ "500 archive/530 Areas/Tuya.md", "300 areas/310 Home Assistant/Tuya Local Integration Notes.md", "templates/tmpl_generic_note.md", - "400 resources/450 Recipes/Chilli Sauce Hack.md", "graphify-out/2026-05-22_2/manifest.json", "graphify-out/2026-05-22_2/graph.json", "graphify-out/2026-05-22_2", diff --git a/100 inbox/Filesystem Consolidation Plan.md b/100 inbox/Filesystem Consolidation Plan.md index c22beb2..a3bc3b3 100644 --- a/100 inbox/Filesystem Consolidation Plan.md +++ b/100 inbox/Filesystem Consolidation Plan.md @@ -204,11 +204,16 @@ This is the archive tier — old projects, old photos, everything rarely accesse --- +## Decisions (2026-05-28) + +1. ✅ **Keep Immich and Jellyfin on same drive (.35 My Passport)** — different purposes (home photos vs movies) +2. ❓ **Photos need careful plan** — keep one master copy + backup. `temp_transfer` and other photo collections also need consolidation into the archive +3. ✅ **Do not back up .13** — `.27`'s data is already backed up via Borg, `.13`'s websites are in Gitea (git), no local backup needed +4. ✅ **.27 drives can be renamed** — SmartDrive, TempBackup, Back Up, XPSystemDrive. Other machines' drives stay as-is + ## Open Questions -- [ ] Should Immich and Jellyfin media live on the same drive? (single point of failure) -- [ ] Should we move old photo archive to MaxtorBackup and rotate it offsite? - [ ] Is the Integral300 recovery .img still needed (298G)? It matches the extracted files. -- [ ] What about `.13`'s `/var/www/` websites — should they be backed up? - [ ] Should `.23` (file-server) get its own backup? -- [ ] Naming convention for drives: should we re-label drives with consistent names? +- [ ] Should we move old photo archive to MaxtorBackup and rotate it offsite? +- [ ] What naming convention for .27 drives? diff --git a/100 inbox/Photo Consolidation Plan.md b/100 inbox/Photo Consolidation Plan.md new file mode 100644 index 0000000..f08a2dd --- /dev/null +++ b/100 inbox/Photo Consolidation Plan.md @@ -0,0 +1,202 @@ +--- +created: 2026-05-28 +modified: 2026-05-28 +type: note +tags: [photos, consolidation, archive] +aliases: [photo-consolidation] +--- + +# Photo Consolidation Plan + +> Consolidating all photo collections across drives into a single clean archive. + +--- + +## Principle + +**Do not touch Immich** — it manages its own library at `/mnt/hd/immich/` (40K photos, Dec 2024 – Jan 2025). All other photos get consolidated into one archive. + +--- + +## Current State — All Photo Collections + +### Immich Library — DO NOT TOUCH + +| Machine | Location | Photos | Period | Organized | +|---------|----------|--------|--------|-----------| +| .35 | `/mnt/hd/immich/` | 40,769 | Dec 2024 – Jan 2025 | Immich-managed | + +### Collections to Consolidate + +| # | Collection | Machine | Path | Photos | Period | Organized | Duplicate Of | +|--|-----------|---------|------|--------|--------|-----------|-------------| +| **1** | **sorted_pictures_holder** | .13 | `/mnt/data/ALL_TRANFERS/Pictures/sorted_pictures_holder/` | **31,279** | **1990–2023** | **✅ Year → Month** | Master collection | +| **2** | **temp_transfer** | .13 | `/mnt/data/ALL_TRANFERS/Pictures/temp_transfer/` | ~? | 2024 | ❌ By event name | Unique (latest photos) | +| **3** | **PICTURES_GROUPED_SUBJECT_OLD** | .13 | `/mnt/data/ALL_TRANFERS/Pictures/PICTURES_GROUPED_SUBJECT_OLD/` | ~? | 2005–2012 | ❌ By topic | **= #7 Back Up drive** | +| **4** | **Integral300 recovery** | .27 mounted | `/run/media/sam/Integral300/` | 30,747 | — | Mixed | **= #5 SmartDrive + #1** | +| **5** | **SmartDrive backup** | .27 | `/run/media/sam/SmartDrive/integral300_backup_20260305/` | 30,747 | — | Mixed | **= #4 recovery img** | +| **6** | **Photos-001 (1-4)** | .13 | `/mnt/data/ALL_TRANFERS/Pictures/Photos-001 (1-4)/` | ~119 | May–Jun 2023 | ❌ Raw dumps | Unique | +| **7** | **Back Up drive photos** | .27 | `/mnt/backup/old_photos_backup/pictures/` | ~? | 2005–2011 | ❌ By topic | **= #3** | +| **8** | **sorted_pictures/2019** | .13 | `/mnt/data/ALL_TRANFERS/Pictures/sorted_pictures/` | ~? | 2019 | ✅ Year only | Might be in #1 already | +| **9** | **sam rolfe/previous years** | .13 | `/mnt/data/ALL_TRANFERS/sam rolfe/previous years/` | ~? | 2018–2019 | ❌ Mixed | Unique? | +| **10** | **grandas_wake** | .13 | `/mnt/storage/Users/Sam Rolfe/Desktop/grandas_wake/recent photos sams/` | ~7 | — | ❌ | Unique? | + +### Duplicate Summary + +| Group | Collections | Action | +|-------|------------|--------| +| **A — sorted_pictures_holder** | #1 only (on .13) | **Keep as master** — best organized | +| **B — PICTURES_GROUPED_SUBJECT_OLD** | #3 (#7 is same) | **Keep one copy, delete the other** | +| **C — Integral300** | #4 (#5 is same) | **Delete SmartDrive copy** — recovery .img is source of truth | +| **D — temp_transfer + misc** | #2, #6, #8, #9, #10 | **Merge into archive** — these are unique | + +--- + +## Proposed Archive Structure + +### Target Location: `.13` — `/mnt/data/archive/photos/` + +This is on the always-on NTFS drive (accessible to network, has 416G free). + +``` +/mnt/data/archive/photos/ +│ +├── by_date/ ← The master date-organized collection +│ ├── 1990/ +│ │ └── 01-Jan/ +│ ├── 2003/ +│ ├── 2004/ +│ ├── ... (years 2005–2023) +│ ├── 2023/ +│ │ ├── 02-Feb/ +│ │ ├── 03-Mar/ +│ │ ├── 04-Apr/ +│ │ └── 05-May/ +│ └── 2024/ ← From temp_transfer (sorted into months) +│ ├── 03-Mar/ → footy_round_5_2024, etc. +│ ├── 04-Apr/ → fin round 7, etc. +│ └── ... +│ +├── by_subject/ ← Topic-based albums (no clear dates) +│ ├── baby_harry/ +│ ├── wedding/ +│ ├── grandma_funeral/ +│ ├── bruges/ +│ ├── byron_bay/ +│ ├── footy/ ← All footy games combined +│ ├── dad_80th/ +│ └── ... (others from PICTURES_GROUPED_SUBJECT_OLD) +│ +└── phone_dumps/ ← Raw phone exports (keep original names) + └── pixel_6_pro_2023/ + ├── 2023-05/ + └── 2023-06/ +``` + +### Explanation + +| Folder | Source | Rationale | +|--------|--------|-----------| +| **`by_date/`** | `sorted_pictures_holder/` + `temp_transfer/` (sorted into dates) | **Primary** — date-organized is the most useful for finding photos. `temp_transfer` events will be sorted into year/month folders | +| **`by_subject/`** | `PICTURES_GROUPED_SUBJECT_OLD/` | Secondary — some photos make more sense grouped by event (weddings, funerals, trips) | +| **`phone_dumps/`** | `Photos-001 (1-4)/` | Raw exports — useful to keep original PXL_ filenames for reference | + +--- + +## Consolidation Steps + +### Step 1 — Delete Obvious Duplicates + +```bash +# These are identical to PICTURES_GROUPED_SUBJECT_OLD on .13: +# Delete from .27 Back Up drive after confirming .13 copy exists +# /mnt/backup/old_photos_backup/pictures/ ← DELETE SAFELY + +# These are already extracted and match recovery .img: +# Delete SmartDrive integral300_backup_20260305/ ← DELETE SAFELY +``` + +### Step 2 — Build the Archive (on .13) + +```bash +# Create archive structure +mkdir -p /mnt/data/archive/photos/{by_date,by_subject,phone_dumps} + +# A) Copy sorted_pictures_holder as the foundation of by_date/ +cp -a /mnt/data/ALL_TRANFERS/Pictures/sorted_pictures_holder/ \ + /mnt/data/archive/photos/by_date/ + +# B) Copy subject-organized albums into by_subject/ +cp -a /mnt/data/ALL_TRANFERS/Pictures/PICTURES_GROUPED_SUBJECT_OLD/* \ + /mnt/data/archive/photos/by_subject/ + +# C) Copy phone dumps +cp -a "/mnt/data/ALL_TRANFERS/Pictures/Photos-001 (1)/" \ + /mnt/data/archive/photos/phone_dumps/2023-05/ +cp -a "/mnt/data/ALL_TRANFERS/Pictures/Photos-001 (2)/" \ + /mnt/data/archive/photos/phone_dumps/2023-05/ +# ... etc + +# D) Copy temp_transfer events — needs manual sorting into by_date/2024/ +cp -a /mnt/data/ALL_TRANFERS/Pictures/temp_transfer/ \ + /mnt/data/archive/photos/temp_transfer_to_sort/ +``` + +### Step 3 — Sort `temp_transfer` into `by_date/2024/` + +The folder needs manual review. Photos can be filed into: + +``` +by_date/2024/ +├── 03-Mar/ ← footy_round_5_2024, fin round 7 +├── 04-Apr/ ← fin round 8, harry round 8 +├── 05-May/ ← harry round 9 +├── 06-Jun/ ← whatever dates are in there +└── ... +``` + +Each file has timestamps — use `exiftool` or file timestamps to determine the right month. + +### Step 4 — Verify & Clean Up + +1. Run `du -sh` on the archive to confirm all photos arrived +2. Spot-check a few folders with `ls` +3. Delete source directories from ALL_TRANFERS **only after confirmed** +4. Unmount recovery .img + delete SmartDrive copy + +--- + +## Additional Photo Sources to Check + +| Source | Where | Action | +|--------|-------|--------| +| .35 My Passport `/mnt/hd/data/` | .35 | Check if any photos exist in the data folder | +| Immich database | .35 | Already managed — leave alone | +| Integral300 recovery .img | .27 `/mnt/tempbackup/` | Data is in the archive already — keep for now? | +| **Obsidian attachments** | .27 `~/obsidian/` | These are notes, not photos — keep in vault | + +--- + +## What to Keep vs Delete After Consolidation + +| Item | Keep? | Reason | +|------|-------|--------| +| `sorted_pictures_holder/` on .13 | 🗑️ Delete | Moved to archive | +| `PICTURES_GROUPED_SUBJECT_OLD/` on .13 | 🗑️ Delete | Moved to archive | +| `temp_transfer/` on .13 | 🗑️ Delete | Moved to archive | +| `Photos-001 (1-4)/` on .13 | 🗑️ Delete | Moved to archive | +| **old_photos_backup** on .27 Back Up | 🗑️ Delete | Duplicate of PICTURES_GROUPED_SUBJECT_OLD | +| **SmartDrive integral300_backup** | 🗑️ Delete | Already in archive + recovery .img | +| **Recovery .img** (298G) | ❓ Keep for now | Matches archive + extracted backup | +| **Immich** | ✅ Keep | Live service, managed separately | +| `sam rolfe/previous years/` on .13 | ❓ Check first | Mixed content (photos + documents) | +| `grandas_wake/` on .13 | ❓ Check first | Only 7 photos — may overlap | +| `.27` Back Up drive (the disk itself) | ❓ Repurpose | Once photos are archived, 224G freed | + +--- + +## Discarded Approaches + +- **Merging into Immich**: Immich handles ingestion well, but it's running on .35 and the archive target is .13. Better to keep a simple filesystem-based archive. +- **Deleting all duplicates immediately**: Too risky. Only delete after confirming the archive copy is intact. +- **Keeping everything on .27**: The NVMe drive is fast but limited (490G free). .13 has more space (416G free on Data, 2.6T on ubuntu_storage_3TB) and is always-on.