Releases: damongolding/immich-kiosk
v0.15.1
Fixed a rare case where API requests could enter an endless loop.
What's Changed
⚡ Fixes
- api recursion by @damongolding in #267
Full Changelog: v0.15.0...v0.15.1
v0.15.0
landscape and portrait layouts
You can now specify landscape
or portrait
as a layout value to display images with the desired aspect ratio.
New asset "buckets"
You can now use date ranges and memories in addition to albums and people.
Date range
Warning
I have found an issue in the Immich API which means that the date range is not working as expected.
It seems API is matching against "createdBefore" and "createdAfter" instead of the EXIF meta data.
I have raised this with the Immich team and will update this when it is fixed.
Tip
You can use today
as an alias for the current date.
e.g. http://{URL}?date=2023-01-01_to_today
Define specific date ranges to filter images as a source:
- via config.yaml file
date:
- "YYYY-MM-DD_to_YYYY-MM-DD"
- via ENV in your docker-compose file use a
,
to separate IDs
environment:
KIOSK_DATE: "DATE_RANGE,DATE_RANGE,DATE_RANGE"
- via url quires
http://{URL}?date=DATE_RANGE&date=DATE_RANGE&date=DATE_RANGE
Memories
Enable image memories as a source:
- via config.yaml file
memories: true
- via ENV in your docker-compose file
environment:
KIOSK_MEMORIES: true
- via url quires
http://{URL}?memories=true
Album order
Choose in what order albums are displayed. random
(default), newest
or oldest
.
- via config.yaml file
album_order: random
- via ENV in your docker-compose file
environment:
KIOSK_ALBUM_ORDER: random
- via url quires
http://{URL}?album_order=random
local language for image metadata date
Set the LANG
environment variable to one of the supported language codes to localize image metadata dates.
Example:
services:
immich-kiosk:
image: damongolding/immich-kiosk:latest
container_name: immich-kiosk
tty: true
environment:
LANG: "en_GB"
TZ: "Europe/London"
ports:
- 3000:3000
volumes:
- ./config:/config
# - ./custom.css:/custom.css
restart: always
Per device cache
Each kiosk device now uses its own cache for API calls, significantly reducing duplicate images (especially within albums).
Dynamic manifest for PWA
On iOS, PWAs (Progressive Web Apps) cannot use URL queries directly. To address this limitation, Kiosk now supports dynamic manifest creation, enabling query overrides to function correctly when used in tandem with Kiosk's internal redirects.
How it works
kiosk:
redirects:
- name: pwa
url: ?layout=portrait&album=ALBUM_ID
type: internal
By configuring the above internal redirect and navigating to http://{URL}/pwa
, you can set the start URL for the PWA. When added to the home screen, the app will respect the specified URL query overrides.
What's Changed
🚀 New Features
- linear transition for smoother zooming by @damongolding in #240
- add landscape and portrait layouts by @damongolding in #254
- add date range asset bucket by @damongolding in #251
- add memories asset bucket by @damongolding in #266
- disable gpu option by @damongolding in #257
- add local language for image meta date by @damongolding in #259
- per device cache and random album asset rework by @damongolding in #252
- dynamic manifest by @damongolding in #262
- album ordering by @damongolding in #265
⚡ Fixes
- fix clock/weather container height on older browsers by @damongolding in #258
- fix for clock when using disable_ui by @damongolding in #264
Full Changelog: v0.14.7...v0.15.0
v0.14.7
Weather
Fixed an issue where if the frontend requested weather data before Kiosk had received it (for the first time) it would cause an error. Now Kiosk will use a retry loop before throwing an error.
What's Changed
⚡ Fixes
- Fix/weather resilience by @damongolding in #243
🔨 Maintenance
- updated dependencies by @damongolding in #244
Full Changelog: v0.14.6...v0.14.7
v0.14.6
Displaying Album and People Names
Show names by setting show_album_name
or show_person_name
to true
when using a person ID, album ID, or special album keywords.
Multiple People/Album URL Fix
Fixed bug where only one person/album was processed when multiple were specified in the URL.
What's Changed
🚀 New Features
- display album/person name by @damongolding in #233
⚡ Fixes
- fix for multiple albums and people in url queries by @damongolding in #236
🔨 Maintenance
- dependencies update by @damongolding in #232
Other changes
- Feature/docker best practices by @benlinton in #230
New Contributors
- @benlinton made their first contribution in #230
Full Changelog: v0.14.5...v0.14.6
v0.14.5
What's Changed
🚀 New Features
- None image content is now compressed and served via gzip
⚡ Fixes
- fix base config persisting when person/album url param set by @damongolding in #226
- fix mime type when using the raw image endpoint by @damongolding in #228
Other changes
- Documentation: Adding an example of using Google Cast provided by chris.burrow by @chris-burrow-apps in #229
New Contributors
- @chris-burrow-apps made their first contribution in #229
Full Changelog: v0.14.4...v0.14.5
v0.14.4
What's Changed
⚡ Fixes
- merge redirect queries with request queries for external redirects by @damongolding in #223
Full Changelog: v0.14.3...v0.14.4
v0.14.3
What's Changed
⚡ Fixes
- display correct control button when kiosk paused by @damongolding in #219
Full Changelog: v0.14.2...v0.14.3
v0.14.2
Webhook Security
We've added a new security header called X-Kiosk-Signature-256
. This works similar to GitHub's webhook security system. For more details, check out our documentation.
Image Orientation Fix
Thanks to @tal-sitton, images now correctly display based on their EXIF orientation data. This fix was needed only when use_original_images
was enabled, since Immich normally handles orientation correction automatically.
What's Changed
🚀 New Features
- add webhook signature header by @damongolding in #215
Other changes
- fix: use exif to fix image orientation by @tal-sitton in #212
New Contributors
- @tal-sitton made their first contribution in #212
Full Changelog: v0.14.1...v0.14.2
v0.14.1
Resolved an issue where metadata from the previous image could incorrectly appear on the current image.
What's Changed
⚡ Fixes
- z-index css var fix by @damongolding in #210
Full Changelog: v0.14.0...v0.14.1
v0.14.0
Information Overlay
Tip
If you use a reverse proxy or expose Immich you can set immich_external_url
so the links/QR code links to that
You can access additional image information in two ways:
- Click the "i" icon on the screen
- Press the "i" key on your keyboard
The overlay includes:
- A direct link to view the image in Immich
- A QR code for quick mobile access
- A button to trigger the
user.webhook.trigger.info_overlay
webhook event (if enabled)
You can customize the overlay using these configuration options:
show_more_info
: Controls the entire overlay visibilityshow_more_info_image_link
: Toggles the direct image linkshow_more_info_qr_code
: Toggles the QR code display
Redirects
A feature that lets you create simple, memorable URLs that point to longer, more complex ones. Configure them in config.yaml
under kiosk.redirects
with three key components:
name
: Your short, friendly URLurl
: The full destination URLtype
: Chooseinternal
to preserve browser history orexternal
for standard redirects
Webhooks
Kiosk can integrate with external services through webhook notifications. When configured, Kiosk automatically sends HTTP POST requests to your specified URLs whenever important events occur, enabling real-time communication with other systems and services.
Default weather location
You can now set a weather location as the default
weather:
- name: london
lat: 51.5285262
lon: -0.2663999
api: API_KEY
unit: metric
lang: en
default: true
- name: new-york
lat: 40.6973709
lon: -74.1444838
api: API_KEY
unit: imperial
lang: en
Exclude albums
This feature allows you to prevent specific albums from being displayed in the slideshow.
Image Optimization
An optional performance feature that resizes images to match your browser's dimensions. While generally unnecessary, it can improve loading times on low-powered devices. Disabled by default.
What's Changed
🚀 New Features
- Implement friendly redirects by @damongolding in #190
- Added webhooks by @damongolding in #187
- moved clock to client by @damongolding in #192
- Allow a weather location to be set as the default by @damongolding in #193
- Information overlays by @damongolding in #194
- add sleep icon by @damongolding in #197
- add exclude albums option by @damongolding in #203
- add non url changing redirect by @damongolding in #202
- add external link config option by @damongolding in #208
⚡ Fixes
- splitview-landscape layout fix by @damongolding in #189
- transition fixes/upgrades by @damongolding in #191
- Fix clock init by @damongolding in #201
📓 Documentation
- add contributing docs by @damongolding in #195
🔨 Maintenance
- view/templates restructure by @damongolding in #207
Other changes
- implemented optimise option for lower spec devices by @damongolding in #200
- 0.14.0 by @damongolding in #204
Full Changelog: v0.13.1...v0.14.0