🖼️ TRMNL × Immich – Galeria automatyczna ======================================== Opis: ----- To rozwiązanie automatycznie wybiera **losowe zdjęcie z albumu „TRMNL” w Immich** i co 15 minut aktualizuje je w tym katalogu jako: • latest.jpg – pełny kolorowy JPEG (dla TRMNL Image Display) • latest.png – czarno-biała wersja (do ewentualnych innych zastosowań) • meta.json / meta.js – dane o miejscu i dacie wykonania zdjęcia Pliki są udostępniane przez **Tailscale Funnel** i wyświetlane na urządzeniu **TRMNL 7.5"** za pomocą oficjalnego pluginu **Image Display**. ------------------------------------------------------------ Jak to działa: -------------- 1. Skrypt `immich_pull.sh`: • pobiera ID albumu „TRMNL” z Immich API • losuje zdjęcie z tego albumu • pobiera miniaturę JPEG z Immich (`thumbnail?format=JPEG`) • konwertuje do 800×480 i tworzy meta dane • zapisuje `latest.jpg` i `latest.png` 2. Usługa systemd: • `/etc/systemd/system/immich-gallery.service` • `/etc/systemd/system/immich-gallery.timer` Timer uruchamia skrypt co 15 minut automatycznie po starcie systemu. ------------------------------------------------------------ Dostęp przez Tailscale Funnel: ------------------------------ Pliki są dostępne pod adresami: https://debian.tail64eed3.ts.net/immich_gallery/latest.jpg https://debian.tail64eed3.ts.net/immich_gallery/meta.js ------------------------------------------------------------ Konfiguracja TRMNL: ------------------- 1. W TRMNL wejdź w **Plugins → Add → Image Display** 2. W polu **URL** podaj: https://debian.tail64eed3.ts.net/immich_gallery/latest.jpg 3. Wybierz **Refresh rate = 60 min** (zgodnie z ograniczeniem TRMNL) 4. Zapisz i dodaj do swojej playlisty (TRMNL automatycznie wyświetla kolejne zdjęcia, a nasz backend utrzymuje aktualność i rotację plików po stronie serwera.) ------------------------------------------------------------ Struktura katalogu: ------------------- ~/trmnl_out/immich_gallery/ ├── immich_pull.sh → główny skrypt ├── .env → klucz API i adres Immich ├── latest.jpg → aktualne zdjęcie (dla TRMNL) ├── latest.png → wersja B/W ├── meta.json → metadane (czas, lokalizacja) ├── meta.js → wersja do użytku web ├── immich_gallery.log → logi z timera systemd └── .tmp/ → katalog tymczasowy ------------------------------------------------------------ Autor: ------ Konrad Mrożek Integracja: Immich + TRMNL + Tailscale Wersja dokumentacji: 2025-10-07