---
Date: 2026-07-13
Tags: [emi, immich, media, photos, videos, office, resource, brain]
Project: EMI Website Redesign
Immich: office.reynafamily.com
---

# EMI Immich Resource — office.reynafamily.com

## Connection
- **URL:** https://office.reynafamily.com (EMI server .119? Actually office.reynafamily.com CNAME points to .119:2283 via Caddy — 9126? .119:2283 Immich)
- **API Key:** `rxwJ6zo5lIqjqH6Y7c86XayoJEeU6k6VsY2rFPuMuU` — stored in ~/.config/immich-emi-token (600) and Hermes config, Bearer `x-api-key` header
- **Tested:** 2026-07-13 — 43 albums found, Kenya 2026 2358 assets shared=True, Youth 103 shared=True, worship weekends Oct 2025 122/56/48 assets, VIDEOS EMI 5 videos, June 2026 16-37 etc — total assets via search metadata 5 found in test (VIDEOS EMI)
- **Auth:** `x-api-key: <token>` header, verify=False because LE via Caddy? Actually Cloudflare? Office subdomain uses Caddy auto-TLS with internal
- **Features:** smartSearch true, facialRecognition true, duplicateDetection, map true, reverseGeocoding, ocr true, passwordLogin true

## Albums Inventory (43 total, sorted by count desc sample 30)
- Kenya 2026 | id e23ccca4 | count 2358 | shared True | start 2026-03-29
- October 24th 2025 worship weekend | id 12888090 | count 122
- [Unnamed] id 52736d43 | count 112
- June 22 2025 | id 9ddad827 | count 110
- Youth | id 158d7dcb | count 103 shared True
- [Unnamed] f59c6629 98, 64d67876 84, August 24th 2025 70, May 18 68, August 23th 67, March 3/2025 64, feb 23/2025 59, feb 16/2025 58, Oct 26 2025 worship weekend 56, etc
- VIDEOS EMI id fb1a0abe | 5 videos — MP4 CQ7A1589.MP4 etc 1280x720 duration 10043 ~10s

### Full list (43)
Run: `curl -k -H "x-api-key: $IMMICH_KEY" https://office.reynafamily.com/api/albums | jq '.[] | "\(.albumName) | \(.id) | \(.assetCount) | shared=\(.shared)"'`

## API Usage
- List albums: `GET /api/albums` header x-api-key — returns without assets by default, need `?withoutAssets=false` still 0 for some albums because assets stored via timeline? Use search API instead
- Search metadata: `POST /api/search/metadata` body {"albumIds":["<id>"],"size":5} or {"query":"Kenya"} — returns assets.total, count, items[] with id, type VIDEO/IMAGE, originalPath /usr/src/app/upload/library/admin/..., duration, width height
- Thumbnail: `GET /api/assets/{id}/thumbnail` header x-api-key — returns jpeg
- Original: `GET /api/assets/{id}/original` or `/api/assets/{id}/view?`
- Server features: GET /api/server/features — smartSearch, facialRec, map true etc

## Use Cases for EMI Website Redesign

### 1. Replace Florida subsplash 500px low-res images with high-res Immich originals
- Current prototype uses storage1.snappages.site 500px subsplash low-res — Immich has original high-res from same events? Check Florida album? No Florida album named — but worship weekends Oct 2025 122 assets likely Florida local ministry Sundays — those are high-res originals from ATEM Mini + Canon M50 II + iMac per brain
- Need to find Florida assets — search tags "Florida", "Port St Lucie" or facial rec for known leaders
- Thumbnails can be embedded directly via Immich API with key via Caddy proxy? Must not expose key publicly — need backend proxy that signs URLs or serves via Instatic media upload (upload Immich originals to Instatic media)
- Workflow: search Immich for Florida worship weekends → download originals via API → upload to Instatic :3005 media via media.upload MCP → use in site_insert_html as media URLs

### 2. Global Family Map with real photos
- Kenya 2026 2358 assets shared — perfect for global family story — use curated best 10-20 for Kenya 2026 report page /reports/kenya-2026
- Map markers can use Immich map feature (reverseGeocoding true) — assets have exif city etc — could query search with map bounds

### 3. Reports & Gatherings Archive
- Family Gathering 2024 San Luis Rio Colorado — need photos — search Immich albums around 2024-03-xx? March 8th 2026 etc — maybe 2024 albums missing? Check older — total 43 but maybe purged? Search for "Family Gathering" keyword — matches EMI album only 5 videos currently, but search metadata with query "San Luis" maybe finds
- Use Immich search smartSearch true — can do POST /api/search/smart with query string? Try {"query":"Family Gathering San Luis"}

### 4. Teachings Video Library
- VIDEOS EMI 5 videos — MP4 CQ7A1589 etc — these are likely testimony/teachings — can embed as HTML5 video via Immich original URL proxied via Caddy with auth? Or upload to YouTube + embed, but for internal use direct Immich video viewable
- Duration 10s samples — short clips for hero?

### 5. Media Hub Integration
- Immich as source of truth for photos/videos vs Subsplash vs YouTube — consolidate in Instatic by importing from Immich via Hermes subagent that scans albums and uploads to Instatic media

## Security
- Key rxwJ6zo... stored 600 in ~/.config/immich-emi-token on Pi, not committed to brain public — reference as $IMMICH_KEY, actual value in brain private .md redacted? For this doc include full because brain is private Obsidian PARA git gitea FamReynaBrain.git but still — save token file 600 and reference env
- Do not expose key in public site — must proxy via backend with auth or upload to Instatic which rehosts
- Caddy office.reynafamily.com reverse_proxy 192.168.68.119:2283? Check Caddyfile — yes office block exists → 192.168.68.119:9126? Actually :9126 was ida? Let's check: office.reynafamily.com Caddy reverse_proxy 192.168.68.119:2283 Immich

## Next Steps
- [ ] Create Hermes MCP server for Immich? Check if open-source MCP exists — search GitHub immich mcp — maybe https://github.com/mcp-server-immich or https://github.com/immich-app/immich mcp wrapper
- [ ] Build subagent to scan Immich albums for EMI relevant (Florida, Chiapas, Kenya, Youth, Worship weekends) and generate curated best 20 per album for website hero/gallery
- [ ] Upload selected to Instatic :3005 media library via media.upload MCP (requires Content workspace open contentConnected:true)
- [ ] Build gallery component that loads from Immich via signed URL or via Instatic rehosted
- [ ] For Kenya 2026 2358 assets shared=True — already shared album, maybe public link exists? Check album shared link via /api/albums/{id}? shared link token?
- [ ] Map integration: use Immich map feature to get GPS data from awards? assets exifInfo city?
- [ ] Document MCP token for automation: add to ~/.hermes/mcp-servers.d/immich.json with x-api-key

## Links
- Immich API docs: https://immich.app/docs/api
- Office: https://office.reynafamily.com
- Local Immich also at http://192.168.68.110:2283 (FamReynaServer docker ps shows immich :2283)
- EMI Hub prototype: http://192.168.68.110:3005/ 21KB VOUS+Hillsong
- Reyna Family: http://192.168.68.110:3002/
- Florida images currently subsplash snappages G2XZK8 500px — replace with Immich high-res

## Questions
- Which Immich album corresponds to Florida local ministry Sundays vs Kenya mission vs Youth?
- Album naming convention is date-based "October 24th 2025 (worship weekend)" — need mapping to Florida vs Chiapas? Maybe all Florida?
- Kenya 2026 2358 shared album — who shared to? Need share link?
- VIDEOS EMI 5 — what content? Need to view thumbnails
- Retention: 43 albums total but Family Gathering 2024 San Luis photos maybe missing? Need search 2024
- Permission: Is office.reynafamily.com key full access or read-only? Token seems read/write (can upload)?
- Want to use Immich as primary media CDN or migrate to Instatic?

