claude-projects/Photos/photos.md

3.3 KiB

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.com184.170.161.177 (proxied)