---
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?
