sam-4screen-desktop 2026-6-19:16:8:11
This commit is contained in:
287
.trash/Filesystem Consolidation Plan.md
Normal file
287
.trash/Filesystem Consolidation Plan.md
Normal file
@@ -0,0 +1,287 @@
|
||||
---
|
||||
created: 2026-05-28
|
||||
modified: 2026-05-28
|
||||
type: note
|
||||
tags: [dev-ops, filesystem, consolidation, planning]
|
||||
aliases: [consolidation-plan, file-system-redesign]
|
||||
---
|
||||
|
||||
# Filesystem Consolidation Plan
|
||||
|
||||
> DRAFT — Planning document for reorganising files across all machines.
|
||||
|
||||
---
|
||||
|
||||
## Principles
|
||||
|
||||
1. **One source of truth** — no duplicate data on multiple drives
|
||||
2. **Always-on drives for active data** — rarely-used data goes on removable/archive drives
|
||||
3. **NTFS for cross-platform** — anything that needs Samba/NFS access from Windows/Mac
|
||||
4. **Backup repos stay where they are** — changing backup infrastructure is risky
|
||||
5. **Consolidate by access frequency** — hot/warm/cold tiers
|
||||
|
||||
---
|
||||
|
||||
## Current Inventory — What Needs Homes
|
||||
|
||||
### Always-On Services (need drives mounted 24/7)
|
||||
|
||||
| Service | Machine | Current Mount | Size | Notes |
|
||||
|---------|---------|--------------|------|-------|
|
||||
| **Immich photos** | .35 | `/mnt/hd/immich/` | ~? | 40K photos, need fast reliable access |
|
||||
| **Jellyfin media** | .35 | `/mnt/hd/...` | ? | Movies, TV shows, music |
|
||||
| **Docker containers** | .35 | `/Docker/Containers/` | 23.7G | Already on system drive |
|
||||
| **Docker data** | .35 | `/mnt/hd/*/` | ? | Lidarr, Radarr, Sonarr, etc. data |
|
||||
| **Websites** | .13 | `/var/www/` | ? | Active web projects |
|
||||
| **Docker on .13** | .13 | `/home/sam/Docker/` | ? | |
|
||||
|
||||
### Personal Data (frequent access)
|
||||
|
||||
| Data | Current Location(s) | Size | Notes |
|
||||
|------|-------------------|------|-------|
|
||||
| **Dev projects** | .27 `~/...` | ? | NixOS, coding projects |
|
||||
| **Old web work** | .13 `ALL_TRANFERS/` + .27 `/mnt/backup/` | ? | htdocs, PHP, etc. — **DUPLICATED** |
|
||||
| **Arduino / IoT** | .13 `ALL_TRANFERS` + SmartDrive | ? | **DUPLICATED** |
|
||||
| **Flash AS3.0** | .13 `ALL_TRANFERS` | ? | Rarely accessed |
|
||||
| **Music** | .13 + .27 | ? | **DUPLICATED** |
|
||||
| **Sheet music** | ? | ? | Could move to Obsidian |
|
||||
| **Family notes** | ? | ? | Could move to Obsidian |
|
||||
| **TODO lists** | Obsidian + ? | — | Already in Obsidian |
|
||||
| **Movies/TV** | .35 `/mnt/hd/` + .13 | ? | Jellyfin media |
|
||||
| **Display screen + website builder** | ? | ? | Large project? |
|
||||
|
||||
### Archive / Rarely Accessed (cold storage)
|
||||
|
||||
| Data | Current Location(s) | Size | Notes |
|
||||
|------|-------------------|------|-------|
|
||||
| **Sorted photos (2003–2023)** | .13 `sorted_pictures_holder/` | ~? | 31K photos, already organized |
|
||||
| **Old subject-organized photos** | .27 `/mnt/backup/` + .13 | ~? | **DUPLICATED** |
|
||||
| **Integral300 recovery .img** | .27 `/mnt/tempbackup/` | 298G | Keep or delete? |
|
||||
| **Integral300 backup** | .27 SmartDrive `integral300_backup_...` | 105G | Already extracted — delete? |
|
||||
| **Windows old drives** | .13 `/mnt/storage/` | 271G used | Old Windows files |
|
||||
| **Old Windows data drive** | .13 `/mnt/data/` | 1.5T used | ALL_TRANFERS, etc. — **DUPLICATED** |
|
||||
|
||||
### Backup Repos (stay where they are)
|
||||
|
||||
| Repo | Machine | Path | Size |
|
||||
|------|---------|------|------|
|
||||
| Borg .27 repo | .13 | `/mnt/ubuntu_storage_3TB/backup/borg/.27` | ~? |
|
||||
| Borg .13 repo | .13 | `/mnt/ubuntu_storage_3TB/backup/borg/.13` | ~? |
|
||||
| Kopia repo | .23 (via .35) | `/mnt/nfs_usb_3tb/kopia/` | 46G |
|
||||
| Restic repo | .23 (via .35) | `/mnt/nfs_usb_3tb/backups/restic/` | 13G |
|
||||
|
||||
---
|
||||
|
||||
## Drive Role Assignment
|
||||
|
||||
### Always-On Drives (mounted 24/7)
|
||||
|
||||
| Machine | Drive | Mount | Role | Filesystem |
|
||||
|---------|-------|-------|------|------------|
|
||||
| **.35** | `vda1` (My Passport) | `/mnt/hd` | **Active data** — Immich, Jellyfin, Docker service data, current projects | NTFS (cross-platform) |
|
||||
| **.13** | `sdd1` (ubuntu_storage_3TB) | `/mnt/ubuntu_storage_3TB` | **Backup target** — Borg repos only | ext4 |
|
||||
| **.13** | `sdb2` (Data) | `/mnt/data` | **Archive** — old photos, old web work, ALL_TRANFERS | NTFS (cross-platform) |
|
||||
| **.13** | `sda2` (Storage) | `/mnt/storage` | **Windows legacy** — old Windows files | NTFS (cross-platform) |
|
||||
|
||||
### Warm-Swap Drives (plug in when needed)
|
||||
|
||||
| Drive | Size | Free | Role | Label |
|
||||
|-------|------|------|------|-------|
|
||||
| **SmartDrive** | 687G | 548G | **Transfer / temporary** — moving data between machines | `SmartDrive` |
|
||||
| **TempBackup** | 458G | 136G | **Offline backup** — secondary copy of critical data | `TempBackup` |
|
||||
| **Back Up** | 224G | 158G | **Legacy** — old photos (read-only NTFS) | `Back Up` (NTFS) |
|
||||
| **MaxtorBackup** | 1.4T | 1.3T | **Archive target** — empty, ready for use | `MaxtorBackup` |
|
||||
|
||||
---
|
||||
|
||||
## Proposed Folder Hierarchy
|
||||
|
||||
### On `.35` — `/mnt/hd/` (My Passport — NTFS) — Active Data
|
||||
|
||||
This is the hot data tier — always accessible via Docker, Samba, etc.
|
||||
|
||||
```
|
||||
/mnt/hd/
|
||||
├── services/ ← Docker service data (bind-mounted)
|
||||
│ ├── immich/ ── Already here
|
||||
│ ├── audiobookshelf/
|
||||
│ ├── lidarr/
|
||||
│ ├── radarr/
|
||||
│ ├── sonarr/
|
||||
│ ├── qbittorrent/
|
||||
│ ├── readarr/
|
||||
│ ├── headphones/
|
||||
│ ├── spotweb/
|
||||
│ ├── nextcloud/ ── Future?
|
||||
│ └── paperless/ ── Already on NFS
|
||||
├── media/ ← Jellyfin media library
|
||||
│ ├── movies/
|
||||
│ ├── tv/
|
||||
│ ├── music/
|
||||
│ ├── audiobooks/
|
||||
│ ├── podcasts/
|
||||
│ └── books/
|
||||
└── projects/ ← Current active projects
|
||||
├── web/
|
||||
├── arduino/
|
||||
├── nixos/
|
||||
└── ...
|
||||
```
|
||||
|
||||
### On `.13` — `/mnt/data/` (NTFS) — Archive & Warm Data
|
||||
|
||||
This is the archive tier — old projects, old photos, everything rarely accessed but worth keeping.
|
||||
|
||||
```
|
||||
/mnt/data/
|
||||
├── archive/
|
||||
│ ├── photos/ ← Consolidated photo archive
|
||||
│ │ ├── sorted_pictures_holder/ ── From ALL_TRANFERS
|
||||
│ │ └── old_subject_organized/ ── From Back Up drive + PICTURES_GROUPED_SUBJECT_OLD
|
||||
│ ├── web_work/ ← Old htdocs, PHP, Flash AS3.0 projects
|
||||
│ ├── arduino_iot/
|
||||
│ ├── music/
|
||||
│ ├── sheet_music/
|
||||
│ ├── family_notes/
|
||||
│ └── integral300/ ← Recovery .img moved here from .27
|
||||
└── transfer/ ← Staging area for moving data between machines
|
||||
```
|
||||
|
||||
### On `.13` — `/mnt/ubuntu_storage_3TB/` (ext4) — Master Archive + Backup Repo
|
||||
|
||||
This is the **primary archive** drive — 2.1T free, always-on, reliable ext4.
|
||||
|
||||
```
|
||||
/mnt/ubuntu_storage_3TB/
|
||||
├── archive/ ← Consolidated cold/warm data
|
||||
│ ├── photos/ ← 471G — Built 2026-05-28 ✓
|
||||
│ ├── web_work/ ← Old htdocs, PHP, Flash AS3.0 — TBD
|
||||
│ ├── music/ ← TBD
|
||||
│ ├── movies_tv/ ← TBD (or belongs on .35 for Jellyfin?)
|
||||
│ ├── documents/ ← TBD
|
||||
│ └── projects/ ← Arduino, IoT, misc projects — TBD
|
||||
├── transfer/ ← Staging area for moving data
|
||||
└── backup/
|
||||
├── borg/
|
||||
│ ├── .13/ ← .13 local backups
|
||||
│ └── .27/ ← .27 backups via SSH
|
||||
└── restic/ ← Future: secondary restic target?
|
||||
```
|
||||
|
||||
### On `.35` — `/mnt/hd/` (My Passport, NTFS) — Active Data + Media
|
||||
|
||||
This drive is **always-on** for Docker services. 1.2T free.
|
||||
|
||||
```
|
||||
/mnt/hd/
|
||||
├── services/ ← Docker service data (as-is)
|
||||
│ ├── immich/
|
||||
│ ├── audiobookshelf/
|
||||
│ ├── lidarr/, radarr/, sonarr/
|
||||
│ ├── qbittorrent/
|
||||
│ └── ...
|
||||
├── media/ ← Jellyfin library
|
||||
│ ├── movies/ ← Could come from ALL_TRANFERS/MOVIES_TV
|
||||
│ ├── tv/
|
||||
│ ├── music/ ← Could come from ALL_TRANFERS/Music
|
||||
│ └── ...
|
||||
└── projects/ ← Active dev projects
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Consolidation Actions
|
||||
|
||||
### Phase 1 — Eliminate Duplicates
|
||||
|
||||
| What | Duplicated Where | Action |
|
||||
|------|-----------------|--------|
|
||||
| Old subject-organized photos | .27 `/mnt/backup/` + .13 `PICTURES_GROUPED_SUBJECT_OLD` | Delete from .27 (keep .13 copy) |
|
||||
| Integral300 extracted backup | .27 SmartDrive `integral300_backup_...` | Delete — recovery .img is the source of truth |
|
||||
| Arduino / IoT files | .13 ALL_TRANFERS + SmartDrive | Consolidate to .13 archive |
|
||||
| Old web work (htdocs) | Multiple places | Consolidate to .13 `/mnt/data/archive/web_work/` |
|
||||
|
||||
### Phase 2 — Consolidate to Right Drives
|
||||
|
||||
| What | Move From | Move To | When |
|
||||
|------|----------|---------|------|
|
||||
| Integral300 recovery .img | .27 `/mnt/tempbackup/` | .13 `/mnt/data/archive/integral300/` | Phase 2 |
|
||||
| Sorted photos | .13 `ALL_TRANFERS/Pictures/sorted_pictures_holder/` | .13 `/mnt/data/archive/photos/` | Phase 2 |
|
||||
| Old web work | .13 `ALL_TRANFERS/` | .13 `/mnt/data/archive/web_work/` | Phase 2 |
|
||||
|
||||
### Phase 3 — System Rebalancing
|
||||
|
||||
| Action | Reason |
|
||||
|--------|--------|
|
||||
| Mount MaxtorBackup as **offline backup** repository | Provides a second physical copy of backup repos |
|
||||
| Configure periodic rsync from .23 backup repos → MaxtorBackup | .23 has no backup — this covers it |
|
||||
| Clean up old empty stub directories on .35 `/mnt/hd/` | Remove Western Digital installer files, System Volume Information |
|
||||
|
||||
---
|
||||
|
||||
## Always-Connected vs Hot-Swap
|
||||
|
||||
| Drive | Connection | Why |
|
||||
|-------|-----------|-----|
|
||||
| **.35** My Passport (vda, /mnt/hd) | **Always on** | Immich, Jellyfin, Docker services need this |
|
||||
| **.13** ubuntu_storage_3TB | **Always on** | Backup target — Borg runs daily |
|
||||
| **.13** Data (sdb) | **Always on** | Archive data, accessible to network |
|
||||
| **.13** Storage (sda) | **Always on** | Old Windows files |
|
||||
| **.27** SmartDrive | **Hot-swap** | Only needed during data transfers |
|
||||
| **.27** TempBackup | **Hot-swap** | Temporary storage / cache |
|
||||
| **.27** Back Up | **Hot-swap** | Legacy — eventually retire |
|
||||
| **MaxtorBackup** | **Hot-swap** | Offline backup — plug in monthly |
|
||||
|
||||
---
|
||||
|
||||
## 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
|
||||
|
||||
---
|
||||
|
||||
## Remaining ALL_TRANFERS Data — Consolidation Needed
|
||||
|
||||
Still on `.13` at `/mnt/data/ALL_TRANFERS/`, not yet archived:
|
||||
|
||||
| Folder | Size | Category | Proposed Home | Notes |
|
||||
|--------|------|----------|---------------|-------|
|
||||
| **MOVIES_TV/** | **341G** | Media | .35 `/mnt/hd/media/` for Jellyfin **OR** .13 archive | Decision: Jellyfin needs them accessible |
|
||||
| **sam rolfe/** | **137G** | Mixed | .13 `/mnt/ubuntu_storage_3TB/archive/` | Need to sort — has photos + docs |
|
||||
| **WORK/** | **130G** | Old web work | .13 `/mnt/ubuntu_storage_3TB/archive/web_work/` | htdocs, PHP, Flash AS3.0, etc. |
|
||||
| **Music/** | **121G** | Music | .35 `/mnt/hd/media/music/` for Jellyfin **OR** .13 archive | Same question as MOVIES |
|
||||
| **DOCUMENTS/** | 2.5G | Documents | .13 archive **OR** Obsidian | Family notes, sheet music, TODO lists |
|
||||
| **sams_piano_recordings/** | 766M | Audio | .35 `/mnt/hd/media/music/` **OR** .13 archive | Personal recordings |
|
||||
| **UNI_STUDY/** | 167M | Education | .13 archive | Old uni materials |
|
||||
| **phone_recordings/** | 12M | Audio | .13 archive | Phone recordings |
|
||||
|
||||
## Key Decisions Needed
|
||||
|
||||
### 1. Where should MOVIES/TV and Music live?
|
||||
|
||||
| Option | Pro | Con |
|
||||
|--------|-----|-----|
|
||||
| **On .35** `/mnt/hd/media/` | Jellyfin reads them directly, no network mount | Fills My Passport (341G + 121G = 462G) |
|
||||
| **On .13** archive, Jellyfin accesses via NFS | Keeps .35 drive leaner | Adds network dependency for Jellyfin |
|
||||
|
||||
### 2. Where should old web work go?
|
||||
|
||||
Likely `.13` `/mnt/ubuntu_storage_3TB/archive/web_work/` — rarely accessed, belongs in cold storage.
|
||||
|
||||
### 3. What about `.27` drives?
|
||||
|
||||
SmartDrive and TempBackup can be unplugged now. Back Up and XPSystemDrive can stay disconnected too.
|
||||
|
||||
---
|
||||
|
||||
## Open Questions
|
||||
|
||||
- [ ] MOVIES_TV — on .35 or .13?
|
||||
- [ ] Music — on .35 or .13?
|
||||
- [ ] Integral300 recovery .img (298G) — keep or delete?
|
||||
- [ ] Should `.23` get its own backup?
|
||||
- [ ] What naming convention for .27 drives (SmartDrive, TempBackup, etc.)?
|
||||
- [ ] Clean up `.35` My Passport root — remove Western Digital installer .exe/.dmg and System Volume Information?
|
||||
141
.trash/Proposed Archive Structure.md
Normal file
141
.trash/Proposed Archive Structure.md
Normal file
@@ -0,0 +1,141 @@
|
||||
---
|
||||
created: 2026-05-30
|
||||
modified: 2026-05-30
|
||||
type: note
|
||||
tags: [archive, structure, consolidation]
|
||||
aliases: [folder-structure, archive-hierarchy]
|
||||
---
|
||||
|
||||
# Proposed Archive Structure
|
||||
|
||||
> Target: `.13` `/mnt/ubuntu_storage_3TB/archive/`
|
||||
|
||||
## Design Principles
|
||||
|
||||
- **Top-level by category** (not by person) — categories are stable, people change
|
||||
- **Numbered prefixes** — keeps folders in logical order, not alphabetical jumble
|
||||
- **Person sub-folders** inside `01_family/` where data is personal
|
||||
- **Flat enough to navigate** — max 3 levels deep
|
||||
- **Old code → separate Gitea instance**, not loose files
|
||||
- **Notes → eventually into Obsidian**
|
||||
- **Media (music/movies) → .35 for Jellyfin**, not in this archive
|
||||
|
||||
---
|
||||
|
||||
## Proposed Hierarchy
|
||||
|
||||
```text
|
||||
/mnt/ubuntu_storage_3TB/archive/
|
||||
│
|
||||
├── 01_family/ ← Per-person personal files
|
||||
│ ├── sam/
|
||||
│ │ ├── documents/ ← Ideas, projects, footy
|
||||
│ │ └── music/ ← Band recordings, piano
|
||||
│ ├── jo/
|
||||
│ │ ├── documents/
|
||||
│ │ └── creative/
|
||||
│ ├── harry/
|
||||
│ │ ├── school/ ← Schoolwork, report cards
|
||||
│ │ ├── art/ ← Artwork scans
|
||||
│ │ └── sport/ ← Footy photos, team stuff
|
||||
│ └── finn/
|
||||
│ ├── school/
|
||||
│ ├── art/
|
||||
│ └── sport/
|
||||
│
|
||||
├── 02_projects/ ← Supporting assets only
|
||||
│ ├── home_design/ ← House plans, renovations
|
||||
│ ├── iot_assets/ ← Schematics, datasheets
|
||||
│ └── misc/ ← Non-code project files
|
||||
│
|
||||
├── 03_photos/ ← Already here ✓ — no changes
|
||||
│ ├── by_date/ ← 31K sorted photos (1990–2023)
|
||||
│ ├── by_subject/ ← Topic-organized albums
|
||||
│ ├── phone_dumps/ ← Raw phone exports
|
||||
│ └── temp_transfer/ ← 2024 events (unsorted)
|
||||
│
|
||||
├── 04_education/ ← Academic materials
|
||||
│ ├── sam_uni/ ← Old uni essays, study
|
||||
│ └── kids_school/ ← Shared school resources
|
||||
│
|
||||
├── 05_documents/ ← Reference documents
|
||||
│ ├── family/ ← Home ideas, TODO lists
|
||||
│ ├── legal/ ← Legal docs
|
||||
│ ├── financial/ ← Financial records
|
||||
│ └── sheet_music/ ← Sheet music collection
|
||||
│
|
||||
├── 06_creative/ ← Creative works
|
||||
│ ├── band_recordings/ ← Old band sessions
|
||||
│ ├── sams_piano/ ← Piano recordings
|
||||
│ └── phone_recordings/ ← Phone music recordings
|
||||
│
|
||||
├── 07_notes/ ← Reference notes (temp → Obsidian)
|
||||
│ ├── websites/
|
||||
│ ├── iot_configs/
|
||||
│ └── system_configs/
|
||||
│
|
||||
├── 08_transfer/ ← Staging area for incoming data
|
||||
│ └── incoming/
|
||||
│
|
||||
└── 09_backup/ ← Backup repos (already exists)
|
||||
├── borg/
|
||||
└── restic/
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## What Goes Where (Not in Archive)
|
||||
|
||||
| Data | Destination | Why |
|
||||
|------|-------------|-----|
|
||||
| **Music** (121G) | `.35` `/mnt/hd/data/music/` | Jellyfin needs it here |
|
||||
| **MOVIES_TV** (341G) | `.35` `/mnt/hd/data/movies/` + `tvseries/` | Already exists there, delete from .13 |
|
||||
| **Old code — websites, IoT, Flash** | **New Gitea instance** | Git repos, not loose files |
|
||||
|
||||
---
|
||||
|
||||
## How the Current Data Maps In
|
||||
|
||||
| Current Location | New Home | Notes |
|
||||
|----------------|----------|-------|
|
||||
| `ALL_TRANFERS/sam rolfe/` (137G) | `01_family/sam/` + sort | Review contents first |
|
||||
| `ALL_TRANFERS/WORK/` (130G) | `→ Gitea repos` | Old websites, htdocs, Flash |
|
||||
| `ALL_TRANFERS/DOCUMENTS/` (2.5G) | `05_documents/` | |
|
||||
| `ALL_TRANFERS/sams_piano_recordings/` (766M) | `06_creative/sams_piano/` | |
|
||||
| `ALL_TRANFERS/UNI_STUDY/` (167M) | `04_education/sam_uni/` | |
|
||||
| `ALL_TRANFERS/phone_recordings/` (12M) | `06_creative/phone_recordings/` | |
|
||||
| `ALL_TRANFERS/Music/` (121G) | `.35` `/mnt/hd/data/music/` | Jellyfin |
|
||||
| `ALL_TRANFERS/MOVIES_TV/` (341G) | Already on .35, delete from .13 | Jellyfin |
|
||||
| `/mnt/storage/` (932G Windows) | ❌ Wipe / reformat | No value |
|
||||
|
||||
---
|
||||
|
||||
## Separate Gitea for Old Code
|
||||
|
||||
Yes, run a second instance. Best placed on **`.13`** (the dev machine, not the Docker host):
|
||||
|
||||
| Option | Where | Pros |
|
||||
|--------|-------|------|
|
||||
| **Docker on .13** | `.13` as a new container | Separate from .35's active Gitea |
|
||||
| **Direct install on .13** | `.13` via nix package | Simpler, no Docker overhead |
|
||||
|
||||
Keeps old archived repos (websites, IoT, Flash, Arduino) completely separate from your active repos on `.35`.
|
||||
|
||||
---
|
||||
|
||||
## What Devices to Keep
|
||||
|
||||
| Drive | Size | After Cleanup | Fate |
|
||||
|-------|------|--------------|------|
|
||||
| **ubuntu_storage_3TB** (ext4) | 2.7T | ~700G used, 2T free | ✅ Archive + backup repo |
|
||||
| **Data** (NTFS) | 1.8T | Empty | ❌ Reformatted to ext4, use as offline backup or repurpose |
|
||||
| **Storage** (NTFS) | 932G | Empty | ❌ Reformatted to ext4, use as offline backup or repurpose |
|
||||
|
||||
## Naming Convention
|
||||
|
||||
| Element | Rule | Example |
|
||||
|---------|------|---------|
|
||||
| Top-level folders | `##_name/` | `03_photos/` |
|
||||
| Sub-folders | lowercase_with_underscores | `sams_piano/` |
|
||||
| Files | lowercase_with_underscores.ext | `project_notes.txt` |
|
||||
| Family folders | firstname | `harry/` |
|
||||
Reference in New Issue
Block a user