ImmichKiosk

ImmichKiosk

Docker app from DamonGolding's Repository

Overview

Immich Kiosk is a lightweight slideshow for running on kiosk devices and browsers that uses Immich as a data source.

Requirements

A reachable Immich server that is running version v1.127.0 or above. See the project page for more information: https://github.com/damongolding/immich-kiosk?tab=readme-ov-file

Runtime arguments

Web UI
http://[IP]:[PORT:3000]
Network
bridge
Shell
sh
Privileged
false

Template configuration

LanguageVariable

The language code for Kiosk to use

Target
LANG
Default
en_US|en_GB|da_DK|nl_BE|nl_NL|fi_FI|fr_FR|fr_CA|de_DE|hu_HU|it_IT|nn_NO|nb_NO|pl_PL|pt_PT|pt_BR|ro_RO|ru_RU|es_ES|ca_ES|sv_SE|tr_TR|uk_UA|bg_BG|zh_CN|zh_TW|zh_HK|ko_KR|ja_JP|el_GR|id_ID|fr_GP|fr_LU|fr_MQ|fr_GF|fr_RE|cs_CZ|sl_SI|lt_LT|et_EE|hr_HR|lv_LV|sk_SK|th_TH|uz_UZ|kk_KZ
Value
en_GB
TimezoneVariable

The timezone for Kiosk to use

Target
TZ
Value
Europe/London
Web UI PortPorttcp

Container Port: 3000

Target
3000
Default
3000
Value
3000
Config FilePathrw

Config file for application. Remove this if using environmental variables instead.

Target
/config.yaml
Default
/mnt/user/appdata/immich_kiosk/config.yaml
Immich Api KeyVariable

The API for your Immich server.

Target
KIOSK_IMMICH_API_KEY
Immich UrlVariable

The URL of your Immich server. MUST include a port if one is needed e.g. `http://192.168.1.123:2283`.

Target
KIOSK_IMMICH_URL
Immich External UrlVariable

The public URL of your Immich server used for generating links and QR codes.

Target
KIOSK_IMMICH_EXTERNAL_URL
Show TimeVariable

Display clock.

Target
KIOSK_SHOW_TIME
Default
false|true
Value
false
Time FormatVariable

Display clock time in either 12-hour or 24-hour format. This can either be 12 or 24.

Target
KIOSK_TIME_FORMAT
Default
24|12
Value
24
Show DateVariable

Display the date.

Target
KIOSK_SHOW_DATE
Default
false|true
Value
false
Date FormatVariable

The format of the date. default is day/month/year.

Target
KIOSK_DATE_FORMAT
Default
DD/MM/YYYY
Value
DD/MM/YYYY
Clock SourceVariable

The source of the clock. Either client or server.

Target
KIOSK_CLOCK_SOURCE
Default
client|server
Value
client
DurationVariable

The amount in seconds an image will be displayed for.

Target
KIOSK_DURATION
Default
60
Value
60
Disable ScreensaverVariable

Ask browser to request a lock that prevents device screens from dimming or locking. NOTE: I haven't been able to get this to work consistently on IOS.

Target
KIOSK_DISABLE_SCREENSAVER
Default
false|true
Value
false
Optimize ImagesVariable

Whether Kiosk should resize images to match your browser screen dimensions for better performance. NOTE: In most cases this is not necessary, but if you are accessing Kiosk on a low-powered device, this may help.

Target
KIOSK_OPTIMIZE_IMAGES
Default
false|true
Value
false
Use GpuVariable

Enable GPU acceleration for improved performance (e.g., CSS transforms)

Target
KIOSK_USE_GPU
Default
true|false
Value
true
Show ArchivedVariable

Allow assets marked as archived to be displayed.

Target
KIOSK_SHOW_ARCHIVED
Default
false|true
Value
false
AlbumsVariable

The ID(s) of one or more albums to display.

Target
KIOSK_ALBUMS
Album OrderVariable

The order an album's assets will be displayed.

Target
KIOSK_ALBUM_ORDER
Default
random|newest|oldest
Value
random
Excluded AlbumsVariable

The ID(s) of a specific album or albums you want to exclude.

Target
KIOSK_EXCLUDED_ALBUMS
Show VideosVariable

Enable video playback.

Target
KIOSK_SHOW_VIDEOS
Default
false|true
Value
false
Live PhotosVariable

Enable live photos playback for albums.

Target
KIOSK_LIVE_PHOTOS
Default
false|true
Value
false
Live Photo Loop DelayVariable

Delay in seconds before looping live photos.

Target
KIOSK_LIVE_PHOTO_LOOP_DELAY
Default
0
Value
0
PeopleVariable

The ID(s) of a specific person or people you want to display.

Target
KIOSK_PEOPLE
Require All PeopleVariable

Require all people to be present in an asset.

Target
KIOSK_REQUIRE_ALL_PEOPLE
Default
false|true
Value
false
Excluded PeopleVariable

The ID(s) of a specific person or people you want to exclude.

Target
KIOSK_EXCLUDED_PEOPLE
DatesVariable

A date range or ranges.

Target
KIOSK_DATES
TagsVariable

Tag or tags you want to display.

Target
KIOSK_TAGS
Excluded TagsVariable

The tag or tags you want to exclude.

Target
KIOSK_EXCLUDED_TAGS
MemoriesVariable

Display memories.

Target
KIOSK_MEMORIES
Default
false|true
Value
false
BlacklistVariable

The ID(s) of any specific assets you want Kiosk to skip/exclude from displaying.

Target
KIOSK_BLACKLIST
Date FilterVariable

Filter person and random assets by date.

Target
KIOSK_DATE_FILTER
Disable NavigationVariable

Disable all Kiosk's navigation (touch/click, keyboard and menu).

Target
KIOSK_DISABLE_NAVIGATION
Default
false|true
Value
false
Disable UiVariable

A shortcut to set show_time, show_date, show_image_time and show_image_date to false.

Target
KIOSK_DISABLE_UI
Default
false|true
Value
false
Menu PositionVariable

Sets the position of the menu bar.

Target
KIOSK_MENU_POSITION
Default
top|bottom
Value
top
FramelessVariable

Remove borders and rounded corners on images.

Target
KIOSK_FRAMELESS
Default
false|true
Value
false
Hide CursorVariable

Hide cursor/mouse via CSS.

Target
KIOSK_HIDE_CURSOR
Default
false|true
Value
false
Font SizeVariable

The base font size for Kiosk. Default is 100% (16px). DO NOT include the % character.

Target
KIOSK_FONT_SIZE
Default
100
Value
100
Background BlurVariable

Display a blurred version of the image as a background.

Target
KIOSK_BACKGROUND_BLUR
Default
true|false
Value
true
Background Blur AmountVariable

The amount of blur to apply to the background image (sigma).

Target
KIOSK_BACKGROUND_BLUR_AMOUNT
Default
10
Value
10
ThemeVariable

Which theme to use.

Target
KIOSK_THEME
Default
fade|solid|bubble
Value
fade
LayoutVariable

Which layout to use.

Target
KIOSK_LAYOUT
Default
single|portrait|landscape|splitview|splitview-landscape
Value
single
Sleep StartVariable

Time (in 24hr format) to start sleep mode.

Target
KIOSK_SLEEP_START
Sleep EndVariable

Time (in 24hr format) to end sleep mode.

Target
KIOSK_SLEEP_END
Sleep IconVariable

Display icon during sleep mode.

Target
KIOSK_SLEEP_ICON
Sleep Dim ScreenVariable

Dim screen during sleep mode when using Fully Kiosk Browser.

Target
KIOSK_SLEEP_DIM_SCREEN
Default
false|true
Value
false
TransitionVariable

Which transition to use when changing images.

Target
KIOSK_TRANSITION
Default
none|fade|cross-fade
Value
none
Fade Transition DurationVariable

The duration of the fade (in seconds) transition.

Target
KIOSK_FADE_TRANSITION_DURATION
Default
1
Value
1
Cross Fade Transition DurationVariable

The duration of the cross-fade (in seconds) transition.

Target
KIOSK_CROSS_FADE_TRANSITION_DURATION
Default
1
Value
1
Show Progress BarVariable

Display a progress bar for when image will refresh.

Target
KIOSK_SHOW_PROGRESS_BAR
Default
false|true
Value
false
Progress Bar PositionVariable

Sets the position of the progress bar.

Target
KIOSK_PROGRESS_BAR_POSITION
Default
top|bottom
Value
top
Image FitVariable

How the image should fit on the screen. Default is "contain".

Target
KIOSK_IMAGE_FIT
Default
contain|cover|none
Value
contain
Image EffectVariable

Add an effect to images.

Target
KIOSK_IMAGE_EFFECT
Default
none|zoom|smart-zoom
Value
none
Image Effect AmountVariable

Set the intensity of the image effect. Use a number between 100 (minimum) and higher, without the % symbol.

Target
KIOSK_IMAGE_EFFECT_AMOUNT
Default
120
Value
120
Use Original ImageVariable

Use the original image. NOTE: If the original is not a png, gif, jpeg or webp Kiosk will fall back to using the preview.

Target
KIOSK_USE_ORIGINAL_IMAGE
Default
false|true
Value
false
Show OwnerVariable

Display the asset owner. Useful for shared albums.

Target
KIOSK_SHOW_OWNER
Default
false|true
Value
false
Show Album NameVariable

Display album names that the asset appears in.

Target
KIOSK_SHOW_ALBUM_NAME
Default
false|true
Value
false
Show Person NameVariable

Display people's names.

Target
KIOSK_SHOW_PERSON_NAME
Default
false|true
Value
false
Show Person AgeVariable

Display people's ages.

Target
KIOSK_SHOW_PERSON_AGE
Default
false|true
Value
false
Show Image TimeVariable

Display image time from METADATA (if available).

Target
KIOSK_SHOW_IMAGE_TIME
Default
false|true
Value
false
Image Time FormatVariable

Display image time in either 12-hour or 24-hour format. This can either be 12 or 24.

Target
KIOSK_IMAGE_TIME_FORMAT
Default
12|24
Value
12
Show Image DateVariable

Display the image date from METADATA (if available).

Target
KIOSK_SHOW_IMAGE_DATE
Default
false|true
Value
false
Image Date FormatVariable

The format of the image date. default is day/month/year.

Target
KIOSK_IMAGE_DATE_FORMAT
Default
DD/MM/YYYY
Value
DD/MM/YYYY
Show Image DescriptionVariable

Display image description from METADATA (if available).

Target
KIOSK_SHOW_IMAGE_DESCRIPTION
Default
false|true
Value
false
Show Image ExifVariable

Display image Fnumber, Shutter speed, focal length, ISO from METADATA (if available).

Target
KIOSK_SHOW_IMAGE_EXIF
Default
false|true
Value
false
Show Image LocationVariable

Display the image location from METADATA (if available).

Target
KIOSK_SHOW_IMAGE_LOCATION
Default
false|true
Value
false
Show Image QrVariable

Displays a QR code linking to the original image (in Immich) next to the image metadata.

Target
KIOSK_SHOW_IMAGE_QR
Default
false|true
Value
false
Hide CountriesVariable

List of countries to hide from image_location

Target
KIOSK_HIDE_COUNTRIES
Show More InfoVariable

Enables the display of additional information about the current image(s)

Target
KIOSK_SHOW_MORE_INFO
Default
true|false
Value
true
Show More Info Image LinkVariable

Shows a link to the original image (in Immich) in the additional information overlay

Target
KIOSK_SHOW_MORE_INFO_IMAGE_LINK
Default
true|false
Value
true
Show More Info Qr CodeVariable

Displays a QR code linking to the original image (in Immich) in the additional information overlay

Target
KIOSK_SHOW_MORE_INFO_QR_CODE
Default
true|false
Value
true
Like Button ActionVariable

Action(s) to perform when the like button is clicked. Supported actions are [favorite, album].

Target
KIOSK_LIKE_BUTTON_ACTION
Value
[favorite]
Hide Button ActionVariable

Action(s) to perform when the hide button is clicked. Supported actions are [tag, archive].

Target
KIOSK_HIDE_BUTTON_ACTION
Value
[tag, archive]
Show UserVariable

Display the user used to fetch the image.

Target
KIOSK_SHOW_USER
Default
false|true
Value
false
Use Offline ModeVariable

Enable offline mode for the device.

Target
KIOSK_USE_OFFLINE_MODE
Default
false|true
Value
false
IframeVariable

Add iframes into Kiosk.

Target
KIOSK_IFRAME
Config Validation LevelVariable

The level of validation to perform on the config.yaml file.

Target
KIOSK_CONFIG_VALIDATION_LEVEL
Default
error|warning|off
Value
error
PortVariable

Which port Kiosk should use. NOTE: This is only typically needed when running Kiosk outside of a container. If you are running inside a container the port will need to be reflected in your compose file, e.g. `HOST_PORT:KIOSK_PORT`

Target
KIOSK_PORT
Default
3000
Value
3000
Behind ProxyVariable

Is Kiosk running behind a proxy?

Target
KIOSK_BEHIND_PROXY
Default
false|true
Value
false
Watch ConfigVariable

Should Kiosk watch config.yaml file for changes. Reloads all connect clients if a change is detected.

Target
KIOSK_WATCH_CONFIG
Default
false|true
Value
false
Fetched Assets SizeVariable

The number of assets (data) requested from Immich per api call. min=1 max=1000.

Target
KIOSK_FETCHED_ASSETS_SIZE
Default
1000
Value
1000
Http TimeoutVariable

The number of seconds before an http request will time out.

Target
KIOSK_HTTP_TIMEOUT
Default
20
Value
20
PasswordVariable

Please see FAQs for more info. If set, requests MUST contain the password in the GET parameters, e.g. `http://192.168.0.123:3000?password=PASSWORD`.

Target
KIOSK_PASSWORD
CacheVariable

Cache selective Immich api calls to reduce unnecessary calls.

Target
KIOSK_CACHE
Default
true|false
Value
true
PrefetchVariable

Pre-fetch assets in the background, so images load much quicker when duration timer ends.

Target
KIOSK_PREFETCH
Default
true|false
Value
true
Asset WeightingVariable

Balances asset selection when multiple sources are used, e.g. multiple people and albums. When enabled, sources with fewer assets will show less often.

Target
KIOSK_ASSET_WEIGHTING
Default
true|false
Value
true

Download Statistics

236,287
Total Downloads
4,730
This Month
3,707
Avg / Month

Total Downloads Over Time

Loading chart...

Details

Repository
ghcr.io/damongolding/immich-kiosk:latest
Last Updated2025-04-07
First Seen2024-09-04

Run ImmichKiosk on Unraid.

ImmichKiosk is listed in Community Apps for Unraid OS. Explore Unraid to build a flexible home server, NAS, or homelab.