93ceca6abd15ed76f7f2f32cf12ed77c4e68f50a
The dock tile takes assets/icon.png when the plugin ships one and falls back to the manifest's lucide glyph when it does not. This is the same icon the phone shows, resized — one mark per product, wherever it appears. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Photos
Your Immich library, reached through Officer.
Photos does not store photographs and does not install Immich. You point it at an instance you already run; it forwards to it and holds the API key server-side, so no device ever carries one. Your library, your originals and every thumbnail stay exactly where they are.
What you get
- The whole library — timeline, albums, people, places, sharing and search, as panels inside Officer.
- A map of everything with coordinates, clustered.
- Upload from the phone, through Officer rather than to Immich directly.
- More than one instance. Accounts are a per-user registry with a label, a URL and a key; one is active and you switch between them in the app.
What you need
An Immich you already run, and an API key from it (Immich → Account Settings → API Keys).
Create the key with all permissions. A scoped key returns 403 per route, which does not read as a permissions problem — it reads as a broken feature, one screen at a time.
Nothing else. No system packages, no host binaries.
Setup
- Install the plugin.
- Open /photos → Connection and add an instance: a label, its URL, and the API key.
- It probes the server, records its version, and marks the account active.
What it deliberately does not do yet
- It is a client, not a backup. Nothing is copied to Officer. If your Immich goes away, so does the library — this plugin never held it.
- The key is write-only across the boundary. The account list reports label, URL and which is active, and has no field that could carry a key, masked or otherwise. The only way to change one is to replace it. That is deliberate, and it means the app cannot show you a key you have forgotten.
- Editing lives in Immich. This browses, searches, uploads and organises into albums; it is not a photo editor and will not become one.
Languages
TypeScript
100%