--- project: name: VM Storage Policy status: active category: configuration source: live-verification created: 2026-01-06 updated: 2026-04-19 description: Storage rules for application data on the Ubuntu host (192.168.50.61) tags: [documentation, storage, policy] --- # VM Storage Policy for Application Data All agents and developers managing services on the Ubuntu host (192.168.50.61) MUST follow these storage rules. ## Rule 1: User-Uploaded Data on NFS Store ALL user-uploaded data on TrueNAS NFS shares, NOT on the VM's local disk. **Allowed NFS Paths:** - `/mnt/PersonalMediaLibrary/` — Personal media, photos (Immich) - `/mnt/truenas/mediadata/` — Media library (Movies, TV, Music) - `/mnt/truenas-backup/` — Backups **Examples:** ```yaml volumes: - /mnt/PersonalMediaLibrary/immich/upload:/usr/src/app/upload - /mnt/truenas/mediadata/media:/media ``` ## Rule 2: Config Files on VM Configuration files, databases, and cached data CAN stay on VM local disk. **Allowed Local Paths:** - `/home/bear/homelab/ubuntu/{service}/` — Docker compose and config - `./config`, `./cache` (relative to docker-compose) — Config/cache directories ## Rule 3: NFS Mounts Must Be in fstab Before using an NFS path in docker-compose, verify it exists in `/etc/fstab` for persistence. ```bash cat /etc/fstab | grep nfs ``` ## Summary | Data Type | Storage Location | Example | |-----------|-----------------|---------| | User uploads | NFS (TrueNAS) | Photos, media | | App config | VM local | docker-compose.yml, config/ | | Databases | VM local (postgres-shared) | PostgreSQL, Redis | | Media library | NFS (TrueNAS) | Movies, TV, Music | | Backups | NFS (TrueNAS) | Application backups | --- ## Related - [[project.md|AI Assistant Project]] - [[../../homelab/architecture.md|Homelab Architecture]]