Skip to content

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