Primary NAS — Lotus¶
Last Updated: 2026-04-27 Status: ✅ Active Purpose: Primary storage server and main Docker services host.
Hardware specs: inventory.md → Lotus
Access¶
| Method | Detail |
|---|---|
| Web UI | http://192.168.1.80 |
| SSH | ssh root@192.168.1.80 |
Array Configuration¶
| Parity | 1× 12.7TB |
| Disk 1 | 3.6TB |
| Disk 2 | 7.3TB |
| Disk 3 | 7.3TB |
| Cache pool | 2× 931.5GB NVMe SSD |
| Usable storage | ~18.2TB |
All Docker application data (appdata) is stored on the NVMe cache pool for performance.
Docker Containers¶
See Services Overview for the complete service list with status.
Immich Storage Layout¶
Immich's data is split across several paths on the Lotus array:
| Path | Purpose | Backed up |
|---|---|---|
/mnt/user/immich/photos/ |
Phone uploads via Immich Android app — organised as library/admin/YYYY/MM/DD/ |
✅ LuckyBackup → Cooper |
/mnt/user/data/media/photos/ |
Historical photo archive (pre-Immich) — manually organised by year/event | ✅ LuckyBackup → Cooper |
/mnt/user/data/media/photos/_Family_Archive |
Scanned family photo archive | ✅ LuckyBackup → Cooper (within above) |
/mnt/cache/appdata/immich/ |
Immich config, thumbnails, encoded video | ✅ Appdata Backup → Cooper |
Note:
/mnt/user/data/media/immich/is a legacy path from a previous Immich storage configuration. It contains an old snapshot of photos up to July 2025 (including intentionally deleted photos) and is pending deletion. Do not use this path for anything.
The Immich PostgreSQL database (metadata, albums, faces, ML data) is replicated to Cooper — see Immich PostgreSQL — Replication Setup below.
Backup¶
| What | Method | Destination |
|---|---|---|
| Docker appdata | Appdata Backup plugin | Cooper |
| Immich uploads | LuckyBackup (/mnt/user/immich/) |
Cooper |
| Historical photo archive | LuckyBackup (/mnt/user/data/media/photos/) |
Cooper |
| Pacific VMs/LXC | Proxmox Backup Server (running on Lotus) | Lotus array |
External Access¶
Lotus runs SWAG (reverse proxy), which is the entry point for all *.djchome.uk services. Cloudflare DNS resolves *.djchome.uk to Lotus's Tailscale IP. Only devices on the Tailnet can reach it.
Immich PostgreSQL — Replication Setup¶
Immich's PostgreSQL database streams WAL to a replica on Cooper for data protection.
Why a socat relay?¶
The Immich PostgreSQL container (installed via Community Applications) has a hardcoded port mapping in its Unraid template: host:5432 → container:5433. PostgreSQL actually runs on container port 5432, making the host port mapping broken for external connections. The template cannot be safely edited without breaking the CA-managed container bundle.
Instead, a lightweight socat relay container (immich-pg-relay) sits on the same Docker network (arrproxy) and forwards an additional host port through to the database:
| Container | Network | Purpose |
|---|---|---|
immich_postgreSQL |
arrproxy | Primary database — internal Docker access only |
immich-pg-relay |
arrproxy | Forwards host:5452 → immich_postgreSQL:5432 |
pg_hba.conf¶
/mnt/user/appdata/immich_postgresql/pg_hba.conf includes:
host replication replicator 192.168.1.60/32 scram-sha-256
host replication replicator 172.18.0.0/16 scram-sha-256
The 172.18.0.0/16 entry is needed because the socat relay forwards connections from within the arrproxy Docker network, not from Cooper's LAN IP directly.
Replication user¶
A replicator role exists in the database with REPLICATION privilege.
Recovery¶
See Primary NAS Recovery for restore procedures.
Notes¶
- UPS backed — survives brief power cuts without shutting down
- Always on — if Lotus is down, most services will be unavailable
- Proxmox Backup Server runs as a Docker container on Lotus and stores Pacific backups on the Lotus array