The Photo Frame I Didn't Have Time to Fix
Описание и применение
Проект photoframe, использующий Google Photos, был перенаправлен на самохостинг Immich, совместим с Raspberry Pi OS Bookworm и работает стабильно на различных моделях Pi и разрешениях экранов.
Задача
Google Photos Library API was cut, preventing the photoframe project from accessing user photos, and the project needed to run reliably on various Raspberry Pi models and display resolutions.
Результат
The photoframe project was successfully migrated from Google Photos to Immich, made compatible with Raspberry Pi OS Bookworm, and hardened for daily use on multiple Pi models and display resolutions. A strict release gate and automated agent workflow ensured reliability.
Рабочий процесс
- 1. Identify Immich as photo source and map albums to photoframe keywords.
- 2. Implement Immich API key authentication and /immichconfig route.
- 3. Update Flask error handling and add memory‑aware image selection.
- 4. Replace tvservice with framebuffer fallback and add health checks.
- 5. Add exponential backoff retry logic for network failures.
- 6. Implement clean shutdown handling and hide credentials from logs.
- 7. Build a headless Lite image with pi-gen and CI under QEMU.
- 8. Establish a release gate: all changes must be tested on Pi hardware before tagging.
- 9. Release v3.0.0‑rc2 after multiple independent reviews and extended Pi 4 testing.
Доказательства
Google cut the Photos Library API down to photos an app uploaded itself, and a frame that reads your library has nothing left to read.
The fix was obvious on paper: teach photoframe to talk to Immich.
A pull request became the vetting gate for the release flow.
- Дата записи: 2026-10-10T16:41:15.969Z