83 lines
3.3 KiB
Markdown
83 lines
3.3 KiB
Markdown
# Photos — Project Knowledge
|
|
|
|
## Storage
|
|
- **NFS source**: `/mnt/big-11t/photos` on Proxmox host (jg-hud, 192.168.88.25)
|
|
- NFS exported to:
|
|
- Photos/VM113 (`192.168.88.32`) — mounted as `/mnt/photos`
|
|
- ThinkStation (`192.168.88.41`) — mounted as `/mnt/photos`
|
|
- Systemd mount units on both hosts with `network-online.target` dependency (fixes boot-time NFS failures)
|
|
- Folder structure:
|
|
- `/mnt/photos/joe` — Joe's photos (organized by year: 1972, 1997, 1998...)
|
|
- `/mnt/photos/cynthia` — Cynthia's photos (organized by named folders)
|
|
|
|
## PhotoPrism
|
|
- URL: `https://photos.jgitta.com`
|
|
- Host: **VM113 / photos** (192.168.88.32), port 2342
|
|
- Compose: `/srv/docker/photoprism/docker-compose.yml`
|
|
- Admin credentials: `admin` / `Jogiocsi1211+`
|
|
- Database: MariaDB 11 (container: photoprism-db)
|
|
- DB: `photoprism`, user: `photoprism`, pass: `photoprism_db_pass`, root: `photoprism_root_pass`
|
|
- Volumes (all bind mounts):
|
|
- `/mnt/photos/joe` → `/photoprism/originals/joe`
|
|
- `/mnt/photos/cynthia` → `/photoprism/originals/cynthia`
|
|
- Storage: `/srv/docker/photoprism/storage_data` → `/photoprism/storage`
|
|
- DB data: `/srv/docker/photoprism/db_data` → `/var/lib/mysql`
|
|
- Mode: **Shared library, single login** (Option B)
|
|
- Browse Joe vs Cynthia separately via **Library → Folders** in the UI
|
|
- Timeline/Browse view shows all photos mixed by date (normal behaviour)
|
|
- READONLY: `false` — deletions remove actual files from disk (rely on PBS backups)
|
|
- Face detection: enabled (TensorFlow) — slows initial indexing significantly
|
|
- Migrated from Siklos (VM112) to VM113: April 2026
|
|
- Site URL in config: `https://photos.jgitta.com/`
|
|
|
|
## Immich
|
|
- URL: `https://pictures.jgitta.com`
|
|
- Host: **VM113 / photos** (192.168.88.32), port 2283
|
|
- Compose: `/srv/docker/immich/`
|
|
- External libraries:
|
|
- `/mnt/photos/joe`
|
|
- `/mnt/photos/cynthia`
|
|
- Database: PostgreSQL (pgvecto-rs) — data at `/srv/docker/immich/postgres/`
|
|
- Library data: `/srv/docker/immich/library/`
|
|
- Machine learning: enabled (separate container)
|
|
- Migrated from Siklos (VM112) to VM113: April 2026
|
|
|
|
## digiKam
|
|
- Installed on ThinkStation (192.168.88.41) as AppImage
|
|
- Used for photo editing and organisation
|
|
- Collections configured under Settings → Configure digiKam → Collections
|
|
- Fingerprints generated via Tools → Maintenance → Finger Prints
|
|
- Accesses photos over NFS at `/mnt/photos`
|
|
- Scanning over NFS is slower than local — disable system sleep for large scans
|
|
|
|
## Duplicate Detection
|
|
- `fdupes` — command line, byte-level duplicate detection
|
|
- `-f` flag useful: omit first directory (compare master vs secondary)
|
|
- `-r` recursive, `-d -N` auto-delete
|
|
- `dupeGuru` — GUI alternative (`sudo apt install dupeguru`)
|
|
- Picture Mode for visually similar image matching
|
|
- Safer review-before-delete workflow
|
|
|
|
## Caddy Entry (on CT202)
|
|
File: `/etc/caddy/sites/media.caddy`
|
|
```
|
|
photos.jgitta.com {
|
|
import web_secure
|
|
reverse_proxy 192.168.88.32:2342 {
|
|
import proxy_timeouts
|
|
}
|
|
}
|
|
|
|
pictures.jgitta.com {
|
|
import web_secure
|
|
reverse_proxy 192.168.88.32:2283 {
|
|
import proxy_timeouts
|
|
}
|
|
}
|
|
```
|
|
|
|
## Notes
|
|
- PhotoPrism initial indexing with face detection can take several hours for large collections
|
|
- After indexing, Joe and Cynthia folders visible under Library → Folders in PhotoPrism UI
|
|
- Cloudflare DNS A record for `photos.jgitta.com` → `184.170.161.177` (proxied)
|