-
-
Notifications
You must be signed in to change notification settings - Fork 1
Photos
Kinboard shows your photos in three places: the Photos page, where you browse them on purpose; the dashboard widget, one picture at a time while the board is in use; and the screensaver, when the display goes idle. All three read the same source, so you connect a library once.
Settings → Photos. Pick one:
| Source | What it needs | Browse on the Photos page | Feeds the screensaver |
|---|---|---|---|
| Immich | Your own Immich server's URL and an API key | Yes, by album | Yes |
| DLNA media server | The server's description URL — no account | Yes, by folder | Yes |
| iCloud Shared Album | The album's public link — no Apple ID | Yes, single album | Yes |
| Unsplash | Nothing; curated stock photos that rotate monthly | No — see below | Yes |
Google Photos is not available, and cannot be. Google removed the
photoslibrary.readonly scope on 31 March 2025 — third-party apps can no
longer read your library at all, only media they uploaded themselves. The
Picker API that replaced it lets you hand an app a one-off selection, which
would make an import rather than a photo source that stays current.
Unsplash is a screensaver source. It hands out a curated set that rotates monthly, so there is no album of yours to walk through — and opening a grid of them would ask Unsplash for a page of photographs every time somebody opened the screen, against a rate limit shared by the whole instance. The Photos page says so rather than showing an empty grid, and the Photos entry stays out of the navigation until a real library is connected.
If a NAS in the house already shares photos — MiniDLNA, Jellyfin, Plex, a Synology or QNAP media server — Kinboard can read it. No account, no API key, nothing to install.
Kinboard cannot find the server by itself. Discovery works by shouting on a multicast address, and Kinboard runs in a container that never receives that traffic. So you paste the server's device description URL:
| Server | Usual address |
|---|---|
| MiniDLNA, most NAS boxes | http://<ip>:8200/rootDesc.xml |
| Jellyfin | http://<ip>:8096/dlna/<id>/description.xml |
| Plex | http://<ip>:32469/DeviceDescription.xml |
Then pick a folder. DLNA has no notion of an album — it publishes whatever folder tree the server was configured with — so the picker walks it one level at a time and shows how many photos are in the folder you are looking at.
Images are fetched through Kinboard rather than linked directly. A DLNA server speaks plain HTTP, and a wall display served over HTTPS will silently refuse to load an HTTP image. Kinboard asks your server where each photo lives by the identifier the server itself gave it, so no address from outside is ever fetched — see Security and threat model.
On an iPhone or iPad: open the album in Photos, tap the people icon, and turn on Public Website. Copy the link it shows and paste it into Kinboard.
That is the whole setup. No Apple ID, no password, no two-factor prompt, and nothing installed on the phone. Photos added to the album later appear in Kinboard on their own.
If the album stops working, the usual cause is the Public Website switch having been turned off — from outside, that looks the same as a wrong link, so Kinboard says which it thinks it is.
Apple's image links expire after about an hour. Kinboard fetches fresh ones as it goes; nothing is cached and nothing is copied off iCloud.
A grid of everything in the current album, newest first. Tap one to open it full-screen; arrow keys or swipe to move between them. Close it with the button in the corner, the Escape key, or by tapping the dark surround.
Where a source has albums — Immich's albums, a DLNA server's folders — they appear above the photos, and a breadcrumb walks back out. An iCloud shared album is a single album, so the page opens straight into the photos.
The Photos entry appears in the navigation once there is a library behind it — a source connected, with something in it. A nav button that opens an empty screen is worse than no button, so it waits.
One picture from the library, changing every twenty seconds, opening the album when you tap it. Off by default: switch it on in Settings → Widgets.
Deliberately a single photo rather than a strip of thumbnails — at the size a widget gets on a four-column grid, four photos are four unrecognisable squares, and the point of a photo on the wall is that you can tell who is in it. A photo that fails to load — an expired iCloud link, a NAS that has gone to sleep — moves to the next one rather than leaving a broken image on the wall.
"Could not reach that server" when connecting DLNA — check the address in a browser on the same network. If the browser cannot load it either, the URL or the port is wrong. If it loads for you but not for Kinboard, the container cannot route to that address; a server bound to a Docker-internal address is the usual cause.
Photos appear in Settings but not on the screensaver — the screensaver only uses the source selected in Settings → Photos. Selecting a source and connecting one are two different steps.
A DLNA folder shows fewer photos than expected — Kinboard reads only images from the folder you picked, not from folders inside it. Pick the inner folder, or point the server at a flatter directory.
An iCloud album shows nothing — re-check Public Website on the phone, then reconnect. A link copied from a private shared album will never work.
The Photos entry is missing from the navigation — it appears only once the configured source returns at least one photo. If the source is Unsplash, that is by design (above). Otherwise the library is coming back empty: open Settings → Photos and confirm the connection, and for Immich that an album is selected.
A NAS that sleeps — an unreachable DLNA server is treated as "no photos right now" rather than an error, so a display does not fill its log with failures every time the disks spin down. Settings → Photos is where reachability is reported, because that is where somebody is looking.
See also: Screensaver, Immich, Dashboard.
Kinboard on GitHub · Sponsor · Buy me a coffee · Report a bug · MIT-licensed
Getting started
Operations
Integrations
Kiosk hardware
Built-in features
- Dashboard
- Calendar
- Shopping
- Recipes & meal planning
- Tasks & todos
- Notes
- Photos
- News
- Birthdays
- School schedule
- Smart home & energy
- Screensaver
- People & devices
- Recycle bin
- Notifications
- Themes
Plugins (per-family on/off)
Contributing