Skip to content

dwantstocode/immich-kiosk-test

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Immich Kiosk





Links

What is Immich Kiosk?

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

Important

This project is not affiliated with Immich


Support

If this project has been helpful to you and you wish to support me, you can do so with the button below 🙂.

"Buy Me A Coffee"


Help

If you have found a bug or have an issue you can submit it here.

If you'd like to chat or need some informal help, feel free to find me in the Kiosk channel on the Immich discord server.

Discord button

Configuration

This section is used to generate the UnRaid template.

yaml ENV Value Default Description
immich_api_key KIOSK_IMMICH_API_KEY string "" The API for your Immich server.
immich_url KIOSK_IMMICH_URL string "" The URL of your Immich server. MUST include a port if one is needed e.g. http://192.168.1.123:2283.
immich_external_url KIOSK_IMMICH_EXTERNAL_URL string "" The public URL of your Immich server used for generating links and QR codes in the additional information overlay. Useful when accessing Immich through a reverse proxy or different external URL. Example: "https://photos.example.com". If not set, falls back to immich_url.
show_time KIOSK_SHOW_TIME bool false Display clock.
time_format KIOSK_TIME_FORMAT 24 | 12 24 Display clock time in either 12-hour or 24-hour format. This can either be 12 or 24.
show_date KIOSK_SHOW_DATE bool false Display the date.
date_format KIOSK_DATE_FORMAT string DD/MM/YYYY The format of the date. default is day/month/year. See date format for more information.
clock_source KIOSK_CLOCK_SOURCE client | server client The source of the clock. Either client or server.
refresh KIOSK_REFRESH int 60 The amount in seconds a image will be displayed for.
disable_screensaver KIOSK_DISABLE_SCREENSAVER bool false 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 constantly on IOS.
optimize_images KIOSK_OPTIMIZE_IMAGES bool false 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.
use_gpu KIOSK_USE_GPU bool true Enable GPU acceleration for improved performance (e.g., CSS transforms)
show_archived KIOSK_SHOW_ARCHIVED bool false Allow assets marked as archived to be displayed.
album KIOSK_ALBUM []string [] The ID(s) of a specific album or albums you want to display. See Albums for more information.
album_order KIOSK_ALBUM_ORDER random | newest | oldest random The order an album's assets will be displayed. See Album order for more information.
excluded_albums KIOSK_EXCLUDED_ALBUMS []string [] The ID(s) of a specific album or albums you want to exclude. See Exclude albums for more information.
experimental_album_video KIOSK_EXPERIMENTAL_ALBUM_VIDEO bool false Enable experimental video playback for albums. See experimental album video for more information.
person KIOSK_PERSON []string [] The ID(s) of a specific person or people you want to display. See People for more information.
require_all_people KIOSK_REQUIRE_ALL_PEOPLE bool false Require all people to be present in an asset. See Require all people for more information.
excluded_people KIOSK_EXCLUDED_PEOPLE []string [] The ID(s) of a specific person or people you want to exclude. See Exclude people for more information.
date KIOSK_DATE []string [] A date range or ranges. See Date range for more information.
tag KIOSK_TAG []string [] Tag or tags you want to display. See Tags for more information.
memories KIOSK_MEMORIES bool false Display memories.
blacklist KIOSK_BLACKLIST []string [] The ID(s) of any specific assets you want Kiosk to skip/exclude from displaying. You can also tag assets in Immich with "kiosk-skip" to achieve the same.
date_filter KIOSK_DATE_FILTER string "" Filter person and random assets by date. See date filter for more information.
disable_navigation KIOSK_DISABLE_NAVIGATION bool false Disable all Kiosk's navigation (touch/click, keyboard and menu).
disable_ui KIOSK_DISABLE_UI bool false A shortcut to set show_time, show_date, show_image_time and image_date_format to false.
frameless KIOSK_FRAMELESS bool false Remove borders and rounded corners on images.
hide_cursor KIOSK_HIDE_CURSOR bool false Hide cursor/mouse via CSS.
font_size KIOSK_FONT_SIZE int 100 The base font size for Kiosk. Default is 100% (16px). DO NOT include the % character.
background_blur KIOSK_BACKGROUND_BLUR bool true Display a blurred version of the image as a background.
background_blur_amount KIOSK_BACKGROUND_BLUR_AMOUNT int 10 The amount of blur to apply to the background image (sigma).
theme KIOSK_THEME fade | solid fade Which theme to use. See Themes for more information.
layout KIOSK_LAYOUT single | portrait | landscape | splitview | splitview-landscape Which layout to use. See Layouts for more information.
sleep_start KIOSK_SLEEP_START string "" Time (in 24hr format) to start sleep mode. See Sleep mode for more information.
sleep_end KIOSK_SLEEP_END string "" Time (in 24hr format) to end sleep mode. See Sleep mode for more information.
sleep_icon KIOSK_SLEEP_ICON string "" Display icon during sleep mode. See Sleep mode for more information.
sleep_dim_screen KIOSK_SLEEP_DIM_SCREEN bool false Dim screen during sleep mode when using Fully Kiosk Browser. See Sleep mode for more information.
disable_sleep N/A bool false Bypass sleep mode by adding disable_sleep=true to the URL. See Sleep mode for more information.
custom_css N/A bool true Allow custom CSS to be used. See Custom CSS for more information.
transition KIOSK_TRANSITION none | fade | cross-fade none Which transition to use when changing images.
fade_transition_duration KIOSK_FADE_TRANSITION_DURATION float 1 The duration of the fade (in seconds) transition.
cross_fade_transition_duration KIOSK_CROSS_FADE_TRANSITION_DURATION float 1 The duration of the cross-fade (in seconds) transition.
show_progress KIOSK_SHOW_PROGRESS bool false Display a progress bar for when image will refresh.
image_fit KIOSK_IMAGE_FIT contain | cover | none contain How your image will fit on the screen. Default is contain. See Image fit for more info.
image_effect KIOSK_IMAGE_EFFECT none | zoom | smart-zoom none Add an effect to images.
image_effect_amount KIOSK_IMAGE_EFFECT_AMOUNT int 120 Set the intensity of the image effect. Use a number between 100 (minimum) and higher, without the % symbol.
use_original_image KIOSK_USE_ORIGINAL_IMAGE bool false Use the original image. NOTE: If the original is not a png, gif, jpeg or webp Kiosk will fallback to using the preview.
show_owner KIOSK_SHOW_OWNER bool false Display the asset owner. Useful for shared albums.
show_album_name KIOSK_SHOW_ALBUM_NAME bool false Display album name(s) that the asset appears in.
show_person_name KIOSK_SHOW_PERSON_NAME bool false Display person name(s).
show_person_age KIOSK_SHOW_PERSON_AGE bool false Display person age.
show_image_time KIOSK_SHOW_IMAGE_TIME bool false Display image time from METADATA (if available).
image_time_format KIOSK_IMAGE_TIME_FORMAT 12 | 24 24 Display image time in either 12-hour or 24-hour format. This can either be 12 or 24.
show_image_date KIOSK_SHOW_IMAGE_DATE bool false Display the image date from METADATA (if available).
image_date_format KIOSK_IMAGE_DATE_FORMAT string DD/MM/YYYY The format of the image date. default is day/month/year. See date format for more information.
show_image_description KIOSK_SHOW_IMAGE_DESCRIPTION bool false Display image description from METADATA (if available).
show_image_exif KIOSK_SHOW_IMAGE_EXIF bool false Display image Fnumber, Shutter speed, focal length, ISO from METADATA (if available).
show_image_location KIOSK_SHOW_IMAGE_LOCATION bool false Display the image location from METADATA (if available).
show_image_qr KIOSK_SHOW_IMAGE_QR bool false Displays a QR code linking to the original image (in Immich) next to the image metadata.
hide_countries KIOSK_HIDE_COUNTRIES []string [] List of countries to hide from image_location
show_more_info KIOSK_SHOW_MORE_INFO bool true Enables the display of additional information about the current image(s)
show_more_info_image_link KIOSK_SHOW_MORE_INFO_IMAGE_LINK bool true Shows a link to the original image (in Immich) in the additional information overlay
show_more_info_qr_code KIOSK_SHOW_MORE_INFO_QR_CODE bool true Displays a QR code linking to the original image (in Immich) in the additional information overlay
like_button_action KIOSK_LIKE_BUTTON_ACTION []string [favorite] Action(s) to perform when the like button is clicked. Supported actions are [favorite, album]. See like button for more information.
hide_button_action KIOSK_HIDE_BUTTON_ACTION []string [tag] Action(s) to perform when the hide button is clicked. Supported actions are [tag, archive]. See hide button for more information.
immich_users_api_keys N/A map[string]string {} key:value mappings of Immich usernames to their corresponding API keys. See multiple users for more information.
show_user KIOSK_SHOW_USER bool false Display the user used to fetch the image. See multiple users for more information.
weather N/A []WeatherLocation [] Display the current weather. See weather for more information.
use_offline_mode KIOSK_USE_OFFLINE_MODE bool false Enable offline mode for the device. See offline mode for more information.
offline_mode N/A OfflineMode{} {} Enable offline mode. See offline mode for more information.
iframe KIOSK_IFRAME []string [] Add iframes into Kiosk. See iframe for more information.

Additional options

The below options are NOT configurable through URL params. In the config.yaml file they sit under kiosk (demo below and in example config.yaml)

immich_url: "****"
immich_api_key: "****"
// all your other config options

// 👇 Additional options
kiosk:
  password: ""
  cache: true
  prefetch: true
yaml ENV Value Default Description
port KIOSK_PORT int 3000 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
behind_proxy KIOSK_BEHIND_PROXY bool false Is Kiosk running behind a proxy?
watch_config KIOSK_WATCH_CONFIG bool false Should Kiosk watch config.yaml file for changes. Reloads all connect clients if a change is detected.
fetched_assets_size KIOSK_FETCHED_ASSETS_SIZE int 1000 The number of assets (data) requested from Immich per api call. min=1 max=1000.
http_timeout KIOSK_HTTP_TIMEOUT int 20 The number of seconds before an http request will time out.
password KIOSK_PASSWORD string "" 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.
cache KIOSK_CACHE bool true Cache selective Immich api calls to reduce unnecessary calls.
prefetch KIOSK_PREFETCH bool true Pre-fetch assets in the background, so images load much quicker when refresh timer ends.
asset_weighting KIOSK_ASSET_WEIGHTING bool true Balances asset selection when multiple sources are used, e.g. multiple people and albums. When enabled, sources with fewer assets will show less often.

About

Highly configurable slideshows for displaying Immich assets on browsers and devices

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Go 76.6%
  • TypeScript 12.2%
  • CSS 10.1%
  • Other 1.1%