### Download config.yaml with wget Source: https://docs.immichkiosk.app/installation Creates a config directory and downloads the example config.yaml file using wget. This is used for both Docker and binary installations. ```bash mkdir ./config wget -O ./config/config.yaml https://raw.githubusercontent.com/damongolding/immich-kiosk/refs/heads/main/config.example.yaml ``` -------------------------------- ### Example URL with date range Source: https://docs.immichkiosk.app/configuration/date-range Specify a date range in a URL query, from a specific start date to 'today'. ```http http://{URL}?date=2023-01-01_to_today ``` -------------------------------- ### Kiosk App Configuration Example Source: https://docs.immichkiosk.app/config-example This is a configuration example for the Immich Kiosk App. It shows various settings that can be adjusted, including options that cannot be changed via URL parameters. ```yaml # show_user: false # show user name ## Offline mode # offline_mode: # enabled: false # number_of_assets: 100 # max_size: 0 # parallel_downloads: 4 # expiration_hours: 0 ## Options that can NOT be changed via url params kiosk: port: 3000 behind_proxy: false disable_url_queries: false disable_config_endpoint: false enable_url_builder: false watch_config: false fetched_assets_size: 1000 http_timeout: 20 password: "" cache: true # cache select api calls prefetch: true # fetch assets in the background asset_weighting: true # use weighting when picking assets ``` -------------------------------- ### Download config.yaml with curl Source: https://docs.immichkiosk.app/installation Creates a config directory and downloads the example config.yaml file using curl. This is used for both Docker and binary installations. ```bash mkdir ./config curl -o ./config/config.yaml https://raw.githubusercontent.com/damongolding/immich-kiosk/refs/heads/main/config.example.yaml ``` -------------------------------- ### Install ImmichFrame APK Source: https://docs.immichkiosk.app/misc/frameo Installs the ImmichFrame application onto the Frameo device. Ensure the APK file is downloaded and its path is correctly specified. ```bash adb install path/to/downloaded/immichframe.apk ``` -------------------------------- ### Tag Wildcard Examples Source: https://docs.immichkiosk.app/configuration/tags Demonstrates the use of wildcards for including and excluding tags in configuration. ```yaml tags: - vacation excluded_tags: - vacation/2023/** # Exclude all 2023 vacation photos ``` -------------------------------- ### Launch Fully Kiosk Browser Source: https://docs.immichkiosk.app/misc/frameo Starts the Fully Kiosk Browser application. This command directly launches the main activity of the app. ```bash adb shell am start -n de.ozerov.fully/.MainActivity ``` -------------------------------- ### Install Fully Kiosk Browser APK Source: https://docs.immichkiosk.app/misc/frameo Installs the Fully Kiosk Browser application onto the Frameo device. Ensure the APK file is downloaded and its path is correctly specified. ```bash adb install path/to/downloaded/Fully-Kiosk-Browser.apk ``` -------------------------------- ### Example URL with 'today' alias Source: https://docs.immichkiosk.app/configuration/date-range Use 'today' as a shortcut for the current date in URL queries. ```http http://{URL}?date=today ``` -------------------------------- ### Docker Compose Configuration with Secrets Source: https://docs.immichkiosk.app/configuration/core Example docker-compose setup demonstrating how to use Docker secrets for sensitive variables like API keys and passwords. Secrets are mounted as files and referenced via environment variables. ```yaml services: immich-kiosk: image: ghcr.io/damongolding/immich-kiosk:latest environment: KIOSK_IMMICH_URL: http://192.168.1.123:2283 KIOSK_IMMICH_API_KEY_FILE: /run/secrets/immich_api_key KIOSK_PASSWORD_FILE: /run/secrets/password KIOSK_WEATHER_API_KEY_FILE: /run/secrets/weather_api_key secrets: - immich_api_key - password - weather_api_key secrets: immich_api_key: file: /path/to/immich_api_key.txt password: file: /path/to/password.txt weather_api_key: file: /path/to/weather_api_key.txt ``` -------------------------------- ### Systemd Service File with Credentials Source: https://docs.immichkiosk.app/configuration/core Example systemd service file for running Immich Kiosk. It shows how to load sensitive variables from files using `LoadCredential`, providing a secure way to manage secrets on systemd-based systems. ```ini [Unit] Description=Immich Kiosk Service After=network.target [Service] Type=simple User=immichkiosk Group=immichkiosk WorkingDirectory=/opt/immich-kiosk Environment="KIOSK_IMMICH_URL=http://192.168.1.123:2283" LoadCredential=kiosk_immich_api_key:/path/to/immich_api_key.txt LoadCredential=kiosk_password:/path/to/password.txt ExecStart=/opt/immich-kiosk/immich-kiosk Restart=on-failure RestartSec=10 [Install] WantedBy=multi-user.target ``` -------------------------------- ### Install Anthias Source: https://docs.immichkiosk.app/guides/anthias Execute the Anthias installation script by piping the output of `curl` to `bash`. This command downloads and runs the official Anthias installation script. ```bash bash <(curl -sL https://install-anthias.srly.io) ``` -------------------------------- ### Basic Immich Kiosk Docker Compose Setup Source: https://docs.immichkiosk.app/compose-example This is a basic docker-compose.yaml configuration for the Immich Kiosk service. It defines the service, image, container name, TTY, basic environment variables, port mapping, volume for configuration, and restart policy with a healthcheck. ```yaml services: immich-kiosk: image: ghcr.io/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 # - ./offline-assets:/offline-assets restart: always healthcheck: test: ["CMD", "curl", "-f", "http://localhost:3000/health"] interval: 30s timeout: 5s retries: 3 start_period: 10s ``` -------------------------------- ### Configure Theme via URL Query Source: https://docs.immichkiosk.app/configuration/themes Append the `theme` query parameter to the application URL to dynamically set the theme. For example, `http://{URL}?theme=fade`. ```http http://{URL}?theme=fade ``` -------------------------------- ### Run Immich Kiosk Binary Source: https://docs.immichkiosk.app/installation Executes the Immich Kiosk binary. This command is used after downloading and unarchiving the binary for manual installation. ```bash ./kiosk ``` -------------------------------- ### View Anthias Installation Script Source: https://docs.immichkiosk.app/guides/anthias Before running the Anthias installation script, it is recommended to view its contents using `curl -L`. This allows you to inspect the script for security or configuration checks. ```bash curl -L https://install-anthias.srly.io ``` -------------------------------- ### Download Docker Compose with wget Source: https://docs.immichkiosk.app/installation Downloads the docker-compose.yaml file using wget. This is part of the Docker installation process for a separate compose stack. ```bash wget -O docker-compose.yaml https://raw.githubusercontent.com/damongolding/immich-kiosk/refs/heads/main/docker-compose.yaml ``` -------------------------------- ### Start Immich Kiosk Container Source: https://docs.immichkiosk.app/installation Starts the Immich Kiosk container in detached mode using Docker Compose. This command is used after setting up the docker-compose.yaml and config.yaml files. ```bash docker compose up -d ``` -------------------------------- ### Example Webhook Payload Source: https://docs.immichkiosk.app/configuration/webhooks This is an example of the JSON payload sent by Kiosk when a webhook event occurs. It includes event details, timestamps, device information, and asset data. ```json { "event": "asset.new", "timestamp": "2024-11-19T11:03:07Z", "deviceID": "ed08beb1-6de7-4592-9827-078c3ad91ae4", "clientName": "dining-room-pi", "assetCount": 1, "assets": [ { "id": "bb4ce63b-b80d-430f-ad37-5cfe243e08b1", "type": "IMAGE", "originalMimeType": "image/jpeg", "localDateTime": "2013-04-06T23:45:54Z" /* ... other properties omitted for brevity */ } ], "config": { /* ... configuration fields omitted for brevity */ }, "meta": { "source": "immich-kiosk", "version": "0.13.1" } } ``` -------------------------------- ### Immich Kiosk Docker Compose with Environment Variables Source: https://docs.immichkiosk.app/compose-example This docker-compose.yaml configuration extends the basic setup by including a comprehensive list of environment variables. These variables allow for detailed customization of Immich Kiosk's behavior, appearance, asset filtering, and more. Ensure sensitive information like API keys and URLs are properly secured. ```yaml services: immich-kiosk: image: ghcr.io/damongolding/immich-kiosk:latest container_name: immich-kiosk environment: LANG: "en_GB" TZ: "Europe/London" # Required settings KIOSK_IMMICH_API_KEY: "****" KIOSK_IMMICH_URL: "****" # External url for image links/QR codes KIOSK_IMMICH_EXTERNAL_URL: "" # Clock KIOSK_SHOW_TIME: false KIOSK_TIME_FORMAT: 24 KIOSK_SHOW_DATE: false KIOSK_DATE_FORMAT: YYYY/MM/DD KIOSK_CLOCK_SOURCE: client # Kiosk behaviour KIOSK_DURATION: 60 KIOSK_DISABLE_SCREENSAVER: false KIOSK_OPTIMIZE_IMAGES: false KIOSK_USE_GPU: true KIOSK_BURN_IN_INTERVAL: 0 KIOSK_BURN_IN_DURATION: 30 KIOSK_BURN_IN_OPACITY: 70 # Asset sources KIOSK_SHOW_ARCHIVED: false KIOSK_ALBUMS: "ALBUM_ID,ALBUM_ID,ALBUM_ID" KIOSK_ALBUM_ORDER: random KIOSK_EXCLUDED_ALBUMS: "ALBUM_ID,ALBUM_ID,ALBUM_ID" KIOSK_PEOPLE: "PERSON_ID,PERSON_ID,PERSON_ID" KIOSK_REQUIRE_ALL_PEOPLE: false KIOSK_EXCLUDED_PEOPLE: "PERSON_ID,PERSON_ID,PERSON_ID" KIOSK_DATES: "DATE_RANGE,DATE_RANGE,DATE_RANGE" KIOSK_TAGS: "TAG_VALUE,TAG_VALUE,TAG_VALUE" KIOSK_EXCLUDED_TAGS: "TAG_VALUE,TAG_VALUE,TAG_VALUE" KIOSK_RATING: -1 KIOSK_EXCLUDED_PARTNERS: "PARTNER_ID" KIOSK_MEMORIES: false KIOSK_BLACKLIST: "ASSET_ID,ASSET_ID,ASSET_ID" # FILTER KIOSK_DATE_FILTER: "" # UI KIOSK_SHOW_PROGRESS_BAR: false KIOSK_DISABLE_NAVIGATION: false KIOSK_DISABLE_UI: false KIOSK_FRAMELESS: false KIOSK_HIDE_CURSOR: false KIOSK_FONT_SIZE: 100 KIOSK_BACKGROUND_BLUR: true KIOSK_BACKGROUND_BLUR_AMOUNT: 10 KIOSK_THEME: fade KIOSK_LAYOUT: single KIOSK_SHOW_USER: false # Sleep mode # KIOSK_SLEEP_START: 22 # KIOSK_SLEEP_END: 7 # KIOSK_SLEEP_DIM_SCREEN: false # Transistion options KIOSK_TRANSITION: none KIOSK_FADE_TRANSITION_DURATION: 1 KIOSK_CROSS_FADE_TRANSITION_DURATION: 1 # Image display settings KIOSK_IMAGE_FIT: contain KIOSK_IMAGE_EFFECT: smart-zoom KIOSK_IMAGE_EFFECT_AMOUNT: 120 KIOSK_USE_ORIGINAL_IMAGE: false # Video KIOSK_SHOW_VIDEOS: false KIOSK_LIVE_PHOTOS: false KIOSK_LIVE_PHOTO_LOOP_DELAY: 0 KIOSK_SHOW_ANIMATED_GIFS: false # Image metadata KIOSK_SHOW_IMAGE_RATING: false KIOSK_SHOW_OWNER: false KIOSK_SHOW_ALBUM_NAME: false KIOSK_SHOW_PERSON_NAME: false KIOSK_SHOW_PERSON_AGE: false KIOSK_SHOW_IMAGE_TIME: false KIOSK_IMAGE_TIME_FORMAT: 24 KIOSK_SHOW_IMAGE_DATE: false KIOSK_IMAGE_DATE_FORMAT: YYYY-MM-DD KIOSK_SHOW_IMAGE_DESCRIPTION: false KIOSK_SHOW_IMAGE_CAMERA: false KIOSK_SHOW_IMAGE_EXIF: false KIOSK_SHOW_IMAGE_LOCATION: false KIOSK_HIDE_COUNTRIES: "HIDDEN_COUNTRY,HIDDEN_COUNTRY" KIOSK_SHOW_IMAGE_ID: false KIOSK_SHOW_IMAGE_QR: false KIOSK_SHOW_MORE_INFO: true KIOSK_SHOW_MORE_INFO_IMAGE_LINK: true KIOSK_SHOW_MORE_INFO_QR_CODE: true # More info actions KIOSK_LIKE_BUTTON_ACTION: favorite KIOSK_HIDE_BUTTON_ACTION: tag # Kiosk settings KIOSK_PORT: 3000 KIOSK_BEHIND_PROXY: false KIOSK_DISABLE_URL_QUERIES: false KIOSK_DISABLE_CONFIG_ENDPOINT: false KIOSK_ENABLE_URL_BUILDER: false KIOSK_WATCH_CONFIG: false KIOSK_FETCHED_ASSETS_SIZE: 1000 KIOSK_HTTP_TIMEOUT: 20 KIOSK_PASSWORD: "" KIOSK_CACHE: true KIOSK_PREFETCH: true KIOSK_ASSET_WEIGHTING: true ports: - 3000:3000 restart: always healthcheck: test: ["CMD", "curl", "-f", "http://localhost:3000/health"] interval: 30s timeout: 5s retries: 3 start_period: 10s ``` -------------------------------- ### Download Docker Compose with curl Source: https://docs.immichkiosk.app/installation Downloads the docker-compose.yaml file using curl. This is part of the Docker installation process for a separate compose stack. ```bash curl -o docker-compose.yaml https://raw.githubusercontent.com/damongolding/immich-kiosk/refs/heads/main/docker-compose.yaml ``` -------------------------------- ### Configure Sleep Start Time Source: https://docs.immichkiosk.app/configuration/sleep-mode Set the time for sleep mode to begin. Accepts 24-hour format. Can be configured via YAML, environment variables, or URL. ```yaml sleep_start: ``` ```yaml environment: KIOSK_SLEEP_START: ``` ```url http://{URL}?sleep_start= ``` -------------------------------- ### Find WebView APK Path Source: https://docs.immichkiosk.app/misc/frameo This command helps locate the path of the installed WebView APK on the device, which is necessary for backup and replacement operations. ```bash adb shell pm path com.android.webview ``` -------------------------------- ### Show Image QR using URL Query Parameter Source: https://docs.immichkiosk.app/configuration/metadata Append the `show_image_qr` query parameter to the URL to control QR code display for a specific request. Example: `?show_image_qr=false`. ```http http://{URL}?show_image_qr=false ``` -------------------------------- ### Launch ImmichFrame and Configure Server Source: https://docs.immichkiosk.app/misc/frameo Launches the ImmichFrame application and prompts for the Kiosk server URL configuration. This is the entry point for using ImmichFrame. ```bash adb shell am start -n com.immichframe.immichframe/.MainActivity ``` -------------------------------- ### Enable Videos in Immich Kiosk (config.yaml) Source: https://docs.immichkiosk.app/configuration/videos Set the `show_videos` option to `true` in your `config.yaml` file to enable video playback. Ensure `prefetch` is also enabled for optimal performance. ```yaml show_videos: true ``` -------------------------------- ### Enable Videos in Immich Kiosk (URL Query) Source: https://docs.immichkiosk.app/configuration/videos Append `?show_videos=true` to your Immich Kiosk URL to enable video playback. Ensure `prefetch` is also enabled in your configuration. ```http http://{URL}?show_videos=true ``` -------------------------------- ### Enable Videos in Immich Kiosk (Docker Compose) Source: https://docs.immichkiosk.app/configuration/videos Configure the `KIOSK_SHOW_VIDEOS` environment variable in your `docker-compose.yml` to `true` to enable video playback. Ensure `KIOSK_PREFETCH` is also enabled. ```yaml environment: KIOSK_SHOW_VIDEOS: true ``` -------------------------------- ### Copy New WebView APK to System Source: https://docs.immichkiosk.app/misc/frameo Remounts the system partition as read-write and copies the new WebView APK from `/sdcard/` to the system's app directory, replacing the original. ```bash mount -o remount,rw /system && cp /sdcard/webview.apk /system/app/webview/webview.apk ``` -------------------------------- ### Configure Albums with config.yaml Source: https://docs.immichkiosk.app/configuration/albums Specify album IDs to include in the slideshow using a YAML configuration file. Each album ID should be on a new line. ```yaml albums: - ALBUM_ID - ALBUM_ID ``` -------------------------------- ### Basic Configuration Structure Source: https://docs.immichkiosk.app/configuration/additional-options This snippet shows the basic structure for additional options within the `config.yaml` file, including Immich URL, API key, and other general configurations. ```yaml immich_url: "****" immich_api_key: "****" // all your other config options // 👇 Additional options kiosk: password: "" cache: true prefetch: true ``` -------------------------------- ### Configure Theme in config.yaml Source: https://docs.immichkiosk.app/configuration/themes Set the theme using the `theme` key in your `config.yaml` file. The default theme is `fade`. ```yaml theme: fade ``` -------------------------------- ### Specify People IDs using ENV Source: https://docs.immichkiosk.app/configuration/people Configure the KIOSK_PEOPLE environment variable with a comma-separated string of person IDs to display. This is useful for Docker Compose setups. ```yaml environment: KIOSK_PEOPLE: "PERSON_ID, PERSON_ID" ``` -------------------------------- ### Create Immich Kiosk Directory Source: https://docs.immichkiosk.app/installation Creates a directory for Immich Kiosk and navigates into it. Use this when setting up a separate compose stack. ```bash mkdir ./immich-kiosk cd ./immich-kiosk ``` -------------------------------- ### Enable Prefetch with config.yaml Source: https://docs.immichkiosk.app/configuration/additional-options Enable prefetching of assets in the background using the `config.yaml` file, which helps images load quicker when the duration timer ends. The default value is `true`. ```yaml kiosk: prefetch: true ``` -------------------------------- ### Target Images by Tag with CSS Source: https://docs.immichkiosk.app/configuration/custom-css Use CSS attribute selectors to style images based on their `data-tags` attribute. This example targets images with the tag `kiosk-contain` and applies `object-fit: contain`. ```css /* Target images tagged with "kiosk-contain" */ img[data-tags~="kiosk-contain"] { object-fit: contain; } ``` -------------------------------- ### Configure Like Button Action Source: https://docs.immichkiosk.app/configuration/more-info Define the action(s) for the like button, supporting 'favorite' and 'album'. Multiple actions can be specified as a list. Configuration is available via YAML, environment variables, or URL queries. ```yaml like_button_action: ["favorite"] ``` ```yaml environment: KIOSK_LIKE_BUTTON_ACTION: ["favorite"] ``` ```text http://{URL}?like_button_action=["favorite"] ``` -------------------------------- ### Configure Memory Weighting (URL Query) Source: https://docs.immichkiosk.app/configuration/memories Append '?memory_weight=1.0' to the URL to set the normal memory weight. Use float values to adjust. ```http http://{URL}?memory_weight=1.0 ``` -------------------------------- ### Set Immich External URL via Docker Environment Source: https://docs.immichkiosk.app/configuration/core Use the KIOSK_IMMICH_EXTERNAL_URL environment variable in your docker-compose file to specify the public URL for Immich. This is crucial for reverse proxy setups. ```yaml environment: KIOSK_IMMICH_EXTERNAL_URL: "" ``` -------------------------------- ### Configure Layout with config.yaml Source: https://docs.immichkiosk.app/configuration/layouts Set the 'layout' option in your config.yaml file to choose a display mode. Defaults to 'single'. ```yaml layout: single ``` -------------------------------- ### Configure Immich Kiosk as Wallpanel Image Source Source: https://docs.immichkiosk.app/misc/home-assistant Integrate Immich Kiosk with Wallpanel in Home Assistant for dynamic image sourcing. Appending a timestamp parameter ensures Wallpanel fetches new images. ```yaml wallpanel: enabled: true image_fit: cover idle_time: 10 screensaver_entity: input_boolean.kiosk screensaver_stop_navigation_path: /dashboard-kiosk fullscreen: true display_time: 86400 image_url: >- http://{immich-kiosk-url}/image?person=PERSON_1_ID&person=PERSON_2_ID&t=${timestamp} cards: - type: vertical-stack cards: - type: custom:weather-card details: true forecast: true hourly_forecast: false name: Weather entity: weather.pirateweather current: true number_of_forecasts: '6' - type: custom:horizon-card darkMode: true showAzimuth: true showElevation: true ``` -------------------------------- ### Enable Prefetch with Docker Compose Source: https://docs.immichkiosk.app/configuration/additional-options Enable prefetching of assets in the background using environment variables in your `docker-compose.yml` file. This is an alternative to using the `config.yaml` file. ```yaml environment: KIOSK_PREFETCH: true ``` -------------------------------- ### Show More Info Image Link Source: https://docs.immichkiosk.app/configuration/more-info Enable the display of a direct link to the original Immich image within the 'More Info' overlay. Configure 'show_more_info_image_link' using YAML, environment variables, or URL queries. ```yaml show_more_info_image_link: true ``` ```yaml environment: KIOSK_SHOW_MORE_INFO_IMAGE_LINK: true ``` ```text http://{URL}?show_more_info_image_link=true ``` -------------------------------- ### Set Device Settings via URL Source: https://docs.immichkiosk.app/configuration/url-params Append query parameters to the base URL to configure settings like duration, background blur, and transitions for a specific device. This is useful for kiosk devices where URL input is the primary configuration method. ```url https://{URL}?duration=120&background_blur=false&transition=none ``` -------------------------------- ### Configure Multiple Immich Users API Keys Source: https://docs.immichkiosk.app/configuration/multiple-users Add multiple Immich usernames and their corresponding API keys to the `immich_users_api_keys` field in your `config.yaml` file. This allows the Kiosk to authenticate with different user accounts. ```yaml immich_users_api_keys: damon: "api_key_here" laura: "api_key_here" ``` -------------------------------- ### Configure Layout with URL Query Source: https://docs.immichkiosk.app/configuration/layouts Append the 'layout' query parameter to the Kiosk URL to dynamically change the display mode. Defaults to 'single'. ```http http://{URL}?layout=single ``` -------------------------------- ### Show Image QR using config.yaml Source: https://docs.immichkiosk.app/configuration/metadata Control the display of the image QR code by setting the `show_image_qr` key in your `config.yaml` file. Defaults to `false`. ```yaml show_image_qr: false ``` -------------------------------- ### Configure Albums with URL Query Source: https://docs.immichkiosk.app/configuration/albums Include specific album IDs in the slideshow by appending them to the URL query parameters. Use 'album=' followed by the ID. ```http http://{URL}?album=ALBUM_ID ``` -------------------------------- ### Immich Kiosk Configuration File (config.yaml) Source: https://docs.immichkiosk.app/configuration A comprehensive configuration file for Immich Kiosk, detailing settings for required credentials, clock display, kiosk behavior, asset sources (people, albums, dates, tags), UI elements, sleep mode, transitions, and image/video display options. Environment variables can override these settings. ```yaml # yaml-language-server: $schema=https://raw.githubusercontent.com/damongolding/immich-kiosk/main/config.schema.json ## Required settings - move these to ENV if you want to check in this file immich_api_key: "" immich_url: "" ## Clock show_time: false time_format: 24 # 12 or 24 show_am_pm: true # show am/pm when using 12 hour format show_date: false date_format: YYYY/MM/DD clock_source: client ## Kiosk behaviour duration: 60 # The duration a slide will be displayed (seconds). disable_screensaver: false # Ask the browser to request a lock that prevents device screens from dimming or locking. optimize_images: false # Whether Kiosk should resize images to match your browser screen dimensions for better performance. use_gpu: true # Enable GPU acceleration for improved performance. burn_in_interval: 0 # The interval between burn-in protection cycles (minutes, 0 = disabled). burn_in_duration: 30 # The duration of each burn-in protection cycle (seconds). burn_in_opacity: 70 # The opacity the UI will dip to, as a percentage. ## Asset sources show_archived: false # Allow assets marked as archived to be displayed. ## ID(s) of person or people to display people: - "PERSON_ID" require_all_people: false # When true, only show images containing all specified people together excluded_people: - "PERSON_ID" ## ID(s) of album or albums to display albums: - "ALBUM_ID" album_order: random # random | newest | oldest # Album IDs to exclude from being shown. Albums in this list will be filtered from # appearing in the frame even if they are included in the 'album' list. excluded_albums: - "ALBUM_ID" ## Date range or ranges to display dates: - "YYYY-MM-DD_to_YYYY-MM-DD" ## Value(s) of tag(s) to display tags: - "TAG_VALUE" excluded_tags: - "TAG_VALUE" # Include assets based on their rating rating: -1 # 0 - 5 (-1 = disabled) excluded_partners: - "PARTNER_ID" memories: false # show memories ## Filters # date_filter: last-30-days # only applies to people and random assets ## UI show_clear_cache_button: false # Show a menu button to clear the Kiosk server cache show_progress_bar: false # display a progress bar disable_ui: false # this is just a shortcut for all ui elements (show_time, show_date, show_image_time, show_image_date) frameless: false # remove border around image and rounded corners. frame_padding: 0 # padding (px) around the edge of Kiosk; accepts integer or array [top, right, bottom, left] hide_cursor: false # Hide cursor/mouse via CSS. font_size: 100 # the base font size as a percentage. OMIT the % character background_blur: true # display a blurred version of image as background background_blur_amount: 10 # amount of blur to apply to background image (sigma) theme: fade # which theme to use. fade or solid layout: single # which layout to use. single | splitview | splitview-landscape | portrait | landscape ## Sleep mode # sleep_start: 22 # sleep mode start time # sleep_end: 7 # sleep mode end time # sleep_dim_screen: false # dim screen when sleep mode is active (only works with Fully Kiosk Browser) sleep_icon: true ## Transition options transition: none # cross-fade, fade or none fade_transition_duration: 1 # in seconds cross_fade_transition_duration: 1 # in seconds ## Image display settings image_fit: contain # none | contain | cover image_effect: none # none | zoom | smart-zoom image_effect_amount: 120 use_original_image: false # use the original file. ## Video show_videos: false live_photos: false live_photo_loop_delay: 0 show_animated_gifs: false ``` -------------------------------- ### Configure Tags using URL Queries Source: https://docs.immichkiosk.app/configuration/tags Append tag parameters to the URL to include specific tags. ```http http://{URL}?tag=TAG_VALUE&tag=TAG_VALUE&tag=TAG_VALUE ``` -------------------------------- ### SSH into Raspberry Pi Source: https://docs.immichkiosk.app/guides/anthias Use this command to establish an SSH connection to your Raspberry Pi. Replace `YOU_USERNAME` and `` with your specific details. ```bash ssh YOU_USERNAME@ ``` -------------------------------- ### Like Button Action: Album Source: https://docs.immichkiosk.app/configuration/more-info Configures the like button to add the asset to the 'Kiosk Favorites' album. The album will be created if it does not already exist. ```yaml like_button_action: album ``` -------------------------------- ### Set ImmichFrame as Default Launcher Source: https://docs.immichkiosk.app/misc/frameo Configure ImmichFrame to launch automatically on device boot by setting it as the default home activity. This ensures the ImmichFrame interface is displayed upon startup. ```bash adb shell cmd package set-home-activity com.immichframe.immichframe/.MainActivity ``` -------------------------------- ### Use 'all' Album Keyword Source: https://docs.immichkiosk.app/configuration/albums To display assets from all owned and shared albums, use the special keyword 'all' in the 'album' URL query parameter. ```http http://{URL}?album=all ``` -------------------------------- ### Show More Info QR Code Source: https://docs.immichkiosk.app/configuration/more-info Configure the 'show_more_info_qr_code' setting to display a QR code in the 'More Info' overlay, which links to the original Immich image. This can be set via config.yaml, environment variables, or URL parameters. ```yaml show_more_info_qr_code: true ``` ```yaml environment: KIOSK_SHOW_MORE_INFO_QR_CODE: true ``` ```text http://{URL}?show_more_info_qr_code=true ``` -------------------------------- ### Configure Clock Source Source: https://docs.immichkiosk.app/configuration/clock Set the source for the clock time, choosing between 'client' or 'server'. Default is 'client'. ```yaml clock_source: client ``` ```yaml environment: KIOSK_CLOCK_SOURCE: client ``` ```text http://{URL}?clock_source=client ``` -------------------------------- ### Backup Original WebView APK Source: https://docs.immichkiosk.app/misc/frameo Remounts the system partition as read-write and copies the original WebView APK to a backup location. This is a crucial step before replacing the existing APK. ```bash mount -o remount,rw /system && cp /system/app/webview/webview.apk /system/app/webview/webview.apk.bak ``` -------------------------------- ### Enable Watch Config in YAML Source: https://docs.immichkiosk.app/configuration/additional-options Configure Immich Kiosk to watch the `config.yaml` file for changes and reload clients accordingly by setting `watch_config` to `true`. Note that changes require a container restart to be fully implemented. ```yaml kiosk: watch_config: false ``` -------------------------------- ### Enable More Info Overlay Source: https://docs.immichkiosk.app/configuration/more-info Configure the 'show_more_info' setting to enable or disable the additional information overlay for images. This can be set via config.yaml, environment variables, or URL parameters. ```yaml show_more_info: true ``` ```yaml environment: KIOSK_SHOW_MORE_INFO: true ``` ```text http://{URL}?show_more_info=true ``` -------------------------------- ### Enable Live Photos Source: https://docs.immichkiosk.app/configuration/live-photos Configure whether Live Photos are enabled. Set to 'false' to disable. ```yaml live_photos: false ``` ```yaml environment: KIOSK_LIVE_PHOTOS: false ``` ```text http://{URL}?live_photos=false ``` -------------------------------- ### Configure Image Date Format Source: https://docs.immichkiosk.app/configuration/metadata Set the desired format for displaying the image date. Supports various tokens for year, month, and day. Recommended to use config.yaml or environment variables due to URL parameter restrictions. ```yaml image_date_format: DD/MM/YYYY ``` ```yaml environment: KIOSK_IMAGE_DATE_FORMAT: DD/MM/YYYY ``` ```url http://{URL}?image_date_format=DD/MM/YYYY ``` -------------------------------- ### Set Maximum Video Length (URL Query) Source: https://docs.immichkiosk.app/configuration/videos Append `?exclude_videos_over={duration}` to your Immich Kiosk URL to specify the maximum video duration in seconds. A value of `0` means no videos will be excluded based on length. ```http http://{URL}?exclude_videos_over=0 ``` -------------------------------- ### Enable Asset Weighting with config.yaml Source: https://docs.immichkiosk.app/configuration/additional-options Enable asset weighting using the `config.yaml` file to balance asset selection when multiple sources are used. Sources with fewer assets will show less often. The default value is `true`. ```yaml kiosk: asset_weighting: true ``` -------------------------------- ### Configure Album Order with URL Query Source: https://docs.immichkiosk.app/configuration/albums Specify the asset display order for albums directly in the URL using the 'album_order' query parameter. Valid values include 'random', 'newest', and 'oldest'. ```http http://{URL}?album_order=random ``` -------------------------------- ### Configure Blacklist Source: https://docs.immichkiosk.app/configuration/behavior Specify asset IDs to exclude from display. Alternatively, tag assets with 'kiosk-skip' in Immich. Configuration can be done using YAML, environment variables, or URL parameters. An empty string or empty array means no assets are blacklisted. ```yaml blacklist: "" ``` ```yaml environment: KIOSK_BLACKLIST: "" ``` ```url http://{URL}?blacklist="" ``` -------------------------------- ### Configure Show Album Name Source: https://docs.immichkiosk.app/configuration/metadata Control the display of album names the asset appears in. Set via config file, environment variable, or URL query. ```yaml show_album_name: false ``` ```yaml environment: KIOSK_SHOW_ALBUM_NAME: false ``` ```text http://{URL}?show_album_name=false ``` -------------------------------- ### Create docker-compose.env file Source: https://docs.immichkiosk.app/installation Create a docker-compose.env file to store your secrets when checking configuration into a repository. This prevents sensitive information from being exposed. ```bash touch docker-compose.env ``` -------------------------------- ### Enable Behind Proxy with Environment Variable Source: https://docs.immichkiosk.app/configuration/additional-options Configure the `behind_proxy` setting using the `KIOSK_BEHIND_PROXY` environment variable. This is particularly useful in containerized deployments. ```yaml environment: KIOSK_BEHIND_PROXY: false ``` -------------------------------- ### Frame Padding (URL Query - Default) Source: https://docs.immichkiosk.app/configuration/ui Apply default padding around the Kiosk by specifying the frame_padding parameter in the URL. ```url http://{URL}?frame_padding=0 ``` -------------------------------- ### Use 'all' keyword for People in config.yaml Source: https://docs.immichkiosk.app/configuration/people Specify the 'all' keyword in the 'people' configuration to include all recognized people. This is useful for displaying content featuring everyone. ```yaml people: - all ``` -------------------------------- ### Configure Image Effect with URL Query Source: https://docs.immichkiosk.app/configuration/image-effects Set the image effect by appending `image_effect` as a URL query parameter. Supported values are 'none', 'zoom', and 'smart-zoom'. ```http http://{URL}?image_effect=none ``` -------------------------------- ### Menu Position (YAML) Source: https://docs.immichkiosk.app/configuration/ui Configure the position of the menu bar (top or bottom) using a YAML file. ```yaml menu_position: top ``` -------------------------------- ### Configure Tags in config.yaml Source: https://docs.immichkiosk.app/configuration/tags Use this format to specify tags in your Immich Kiosk configuration file. ```yaml tags: - TAG_VALUE - TAG_VALUE ``` -------------------------------- ### Configure Past Memory Days (URL Query) Source: https://docs.immichkiosk.app/configuration/memories Append '?past_memory_days=0' to the URL to display only today's memories. Use a different integer for more past days. ```http http://{URL}?past_memory_days=0 ``` -------------------------------- ### Enable Webhooks in config.yaml Source: https://docs.immichkiosk.app/configuration/webhooks Add webhook configuration to your `config.yaml` file to enable notifications. Specify the webhook URL, the event to trigger it, and an optional secret for security. ```yaml webhooks: - url: "https://your-webhook-endpoint.com" event: asset.new secret: "my_webhook_secret" # Optional secret for securing webhooks ``` -------------------------------- ### Configure Use Original Image Source: https://docs.immichkiosk.app/configuration/behavior Determine whether to display the original image file or a generated version. Set to 'true' to use the original image. This can be configured via YAML, environment variables, or URL parameters. ```yaml use_original_image: false ``` ```yaml environment: KIOSK_USE_ORIGINAL_IMAGE: false ``` ```url http://{URL}?use_original_image=false ``` -------------------------------- ### Enable Wireless ADB Connection Source: https://docs.immichkiosk.app/misc/frameo After connecting via USB, run this command to enable TCP/IP communication on a specific port, allowing wireless ADB connections. A reboot might be necessary. ```bash adb tcpip 5555 ``` -------------------------------- ### Configure Theme with Environment Variable Source: https://docs.immichkiosk.app/configuration/themes Set the `KIOSK_THEME` environment variable in your `docker-compose.yaml` file to specify the theme. The default theme is `fade`. ```yaml environment: KIOSK_THEME: fade ``` -------------------------------- ### Configure Image Effect with YAML Source: https://docs.immichkiosk.app/configuration/image-effects Set the image effect using the `image_effect` key in your `config.yaml` file. Supported values are 'none', 'zoom', and 'smart-zoom'. ```yaml image_effect: none ``` -------------------------------- ### Show Image QR using Environment Variable Source: https://docs.immichkiosk.app/configuration/metadata Set the `KIOSK_SHOW_IMAGE_QR` environment variable in your `docker-compose.yml` to control QR code display. Defaults to `false`. ```yaml environment: KIOSK_SHOW_IMAGE_QR: false ``` -------------------------------- ### Configure iframes using config.yaml Source: https://docs.immichkiosk.app/configuration/iframe Specify remote URLs or local HTML files for iframes in your `config.yaml` file. Local files can be in the same directory or subdirectories. ```yaml iframe: - https://example.com - ./weather.html # Local file in same directory - ./content/dashboard.html # Local file in subdirectory ``` ```yaml iframe: "https://example.com" # Remote URL ``` ```yaml iframe: - "./weather.html" # Local file in same directory - "./content/dashboard.html" # Local file in subdirectory ``` -------------------------------- ### Set Maximum Video Length (config.yaml) Source: https://docs.immichkiosk.app/configuration/videos Configure the `exclude_videos_over` setting in `config.yaml` to specify the maximum video duration in seconds. A value of `0` means no videos will be excluded based on length. ```yaml exclude_videos_over: 0 ``` -------------------------------- ### Verify Persistent ADB Configuration Source: https://docs.immichkiosk.app/misc/frameo After setting the persistent ADB configuration, use this command to verify that the `persist.sys.usb.config` property is set to `adb`. ```bash adb shell getprop persist.sys.usb.config ``` -------------------------------- ### Show Clear Cache Button (YAML) Source: https://docs.immichkiosk.app/configuration/ui Configure the display of the 'Clear Cache' button in the settings menu using a YAML file. ```yaml show_clear_cache_button: false ``` -------------------------------- ### Restore Original Frameo Experience Source: https://docs.immichkiosk.app/misc/frameo A set of commands to revert the device to its original Frameo configuration. This includes re-enabling the Frameo app, setting it as the default launcher, and optionally uninstalling ImmichFrame. ```bash # Re-enable the Frameo app adb shell pm enable net.frameo.frame # Set it as default launcher adb shell cmd package set-home-activity net.frameo.frame/.MainActivity # Optionally uninstall ImmichFrame adb uninstall com.immichframe.immichframe ``` -------------------------------- ### Set Password with config.yaml Source: https://docs.immichkiosk.app/configuration/additional-options Configure a password for accessing Kiosk using the `config.yaml` file. This password will be used for authentication. ```yaml kiosk: password: "" ``` -------------------------------- ### Enable URL Builder with Environment Variable Source: https://docs.immichkiosk.app/configuration/additional-options Control the availability of the URL builder endpoint via the `KIOSK_ENABLE_URL_BUILDER` environment variable. Set to `true` to enable. ```yaml environment: KIOSK_ENABLE_URL_BUILDER: false ``` -------------------------------- ### Use 'all' keyword for People in URL Queries Source: https://docs.immichkiosk.app/configuration/people Append '?person=all' to the URL to include all recognized people in the photo display. This is a convenient way to ensure all individuals are considered. ```url http://{URL}?person=all ``` -------------------------------- ### Set Immich URL in config.yaml Source: https://docs.immichkiosk.app/configuration/core Configure the Immich server URL in the config.yaml file. Include the port if your Immich server uses a non-standard one. ```yaml immich_url: "" ``` -------------------------------- ### Configure Albums with Docker Compose ENV Source: https://docs.immichkiosk.app/configuration/albums Set album IDs for the slideshow using environment variables in your docker-compose file. Separate multiple IDs with commas. ```yaml environment: KIOSK_ALBUMS: "ALBUM_ID, ALBUM_ID" ``` -------------------------------- ### Define Redirects in config.yaml Source: https://docs.immichkiosk.app/configuration/redirects Use this configuration to define redirects in your config.yaml file. Specify the name for the short path, the destination URL, and optionally the redirect type. ```yaml kiosk: redirects: - name: london url: "/?weather=london" type: external - name: sheffield url: "/?weather=sheffield" - name: our-wedding url: "/?weather=london&album=51be319b-55ea-40b0-83b7-27ac0a0d84a3" type: external ``` -------------------------------- ### Enable Asset Weighting with Docker Compose Source: https://docs.immichkiosk.app/configuration/additional-options Enable asset weighting using environment variables in your `docker-compose.yml` file to balance asset selection. This is an alternative to using the `config.yaml` file. ```yaml environment: KIOSK_ASSET_WEIGHTING: true ``` -------------------------------- ### Configure Seconds Display Source: https://docs.immichkiosk.app/configuration/clock Determine whether to display seconds in the clock. Set using config.yaml, environment variables, or URL parameters. Default is false. ```yaml show_seconds: false ``` ```yaml environment: KIOSK_SHOW_SECONDS: false ``` ```text http://{URL}?show_seconds=false ``` -------------------------------- ### Enable Watch Config with Environment Variable Source: https://docs.immichkiosk.app/configuration/additional-options Use the `KIOSK_WATCH_CONFIG` environment variable to enable or disable watching the `config.yaml` file for changes. A restart is still required for changes to take effect. ```yaml environment: KIOSK_WATCH_CONFIG: false ``` -------------------------------- ### Enable Behind Proxy in YAML Source: https://docs.immichkiosk.app/configuration/additional-options Set `behind_proxy` to `true` in your `config.yaml` if Immich Kiosk is running behind a proxy. This enables the use of the `X-Forwarded-For` header for accurate IP address detection. ```yaml kiosk: behind_proxy: false ``` -------------------------------- ### Like Button Action: Both Favorite and Album Source: https://docs.immichkiosk.app/configuration/more-info Sets the like button to perform both actions: marking the asset as a favorite and adding it to the 'Kiosk Favorites' album. ```yaml like_button_action: [favorite, album] ``` -------------------------------- ### Configure Image Transition Type Source: https://docs.immichkiosk.app/configuration/behavior Specify the transition effect between images. Options include 'none', 'fade', and 'cross-fade'. Configuration can be done via YAML, environment variables, or URL parameters. ```yaml transition: none ``` ```yaml environment: KIOSK_TRANSITION: none ``` ```url http://{URL}?transition=none ``` -------------------------------- ### Enable GPU Acceleration Source: https://docs.immichkiosk.app/configuration/behavior Enable GPU acceleration for enhanced performance, particularly for CSS transforms. This can be configured using YAML, environment variables, or URL parameters. ```yaml use_gpu: true ``` ```yaml environment: KIOSK_USE_GPU: true ``` ```url http://{URL}?use_gpu=true ``` -------------------------------- ### Frame Padding (YAML - Default) Source: https://docs.immichkiosk.app/configuration/ui Set the default padding around the Kiosk interface using a YAML file. A value of 0 means no padding. ```yaml frame_padding: 0 ``` -------------------------------- ### Configure Layout with Environment Variable Source: https://docs.immichkiosk.app/configuration/layouts Use the KIOSK_LAYOUT environment variable in your docker-compose file to specify the desired layout. Defaults to 'single'. ```yaml environment: KIOSK_LAYOUT: single ``` -------------------------------- ### Check Current WebView Version Source: https://docs.immichkiosk.app/misc/frameo Use this command to inspect the current system WebView version on your Frameo device. This helps determine if an update is necessary for compatibility. ```bash adb shell dumpsys webviewupdate ``` -------------------------------- ### Configure Album Order with config.yaml Source: https://docs.immichkiosk.app/configuration/albums Set the display order for assets within albums using the 'album_order' key in your YAML configuration file. Options are 'random', 'newest', or 'oldest'. ```yaml album_order: random ``` -------------------------------- ### Configure Image Fit with URL Query Parameter Source: https://docs.immichkiosk.app/configuration/image-fit You can dynamically control the image fit behavior by appending the 'image_fit' query parameter to the application URL. This allows for per-request configuration. ```http http://{URL}?image_fit=contain ``` -------------------------------- ### Configure Show Archived Assets Source: https://docs.immichkiosk.app/configuration/behavior Enable or disable the display of assets marked as archived. Set to 'true' to include archived assets, or 'false' to exclude them. Configuration options include YAML, environment variables, and URL parameters. ```yaml show_archived: false ``` ```yaml environment: KIOSK_SHOW_ARCHIVED: false ``` ```url http://{URL}?show_archived=false ``` -------------------------------- ### Use 'all' keyword for People using ENV Source: https://docs.immichkiosk.app/configuration/people Set the KIOSK_PEOPLE environment variable to 'all' to include all recognized people in the display. This simplifies configuration when all individuals should be considered. ```yaml environment: KIOSK_PEOPLE: "all" ``` -------------------------------- ### Configure Image Time Format Source: https://docs.immichkiosk.app/configuration/metadata Set the image time display format to 12-hour or 24-hour. Set via config file, environment variable, or URL query. ```yaml image_time_format: 24 ``` ```yaml environment: KIOSK_IMAGE_TIME_FORMAT: 24 ``` ```text http://{URL}?image_time_format=24 ``` -------------------------------- ### Enable Background Blur via URL Query Source: https://docs.immichkiosk.app/configuration/ui Dynamically enable or disable background blur by including the background_blur parameter in the URL. Set to 'true' to activate the blur effect. ```http http://{URL}?background_blur=true ``` -------------------------------- ### List Connected ADB Devices Source: https://docs.immichkiosk.app/misc/frameo Use this command to check if your Frameo device is recognized by ADB after connecting via USB. Ensure ADB is enabled on the frame. ```bash adb devices ``` -------------------------------- ### Set Live Photos Loop Delay Source: https://docs.immichkiosk.app/configuration/live-photos Configure the delay in seconds between Live Photo replays. A value of '0' means no delay. ```yaml live_photo_loop_delay: 0 ``` ```yaml environment: KIOSK_LIVE_PHOTO_LOOP_DELAY: 0 ``` ```text http://{URL}?live_photo_loop_delay=0 ``` -------------------------------- ### Enable URL Builder in YAML Source: https://docs.immichkiosk.app/configuration/additional-options Activate the URL builder endpoint at `/url-builder` by setting `enable_url_builder` to `true` in your `config.yaml` file. The default is `false`. ```yaml kiosk: enable_url_builder: false ``` -------------------------------- ### Set Maximum Video Length (Docker Compose) Source: https://docs.immichkiosk.app/configuration/videos Set the `KIOSK_EXCLUDE_VIDEOS_OVER` environment variable in your `docker-compose.yml` to specify the maximum video duration in seconds. A value of `0` means no videos will be excluded based on length. ```yaml environment: KIOSK_EXCLUDE_VIDEOS_OVER: 0 ``` -------------------------------- ### Configure Show Image Time Source: https://docs.immichkiosk.app/configuration/metadata Control the display of image timestamps. Set via config file, environment variable, or URL query. ```yaml show_image_time: false ``` ```yaml environment: KIOSK_SHOW_IMAGE_TIME: false ``` ```text http://{URL}?show_image_time=false ``` -------------------------------- ### Frame Padding (URL - Top/Bottom and Left/Right) Source: https://docs.immichkiosk.app/configuration/ui Apply top/bottom and left/right padding via URL query parameters. The first parameter sets top/bottom, the second sets left/right. ```url https://example.com?frame_padding=10&frame_padding=20 ``` -------------------------------- ### Configure Image Effect with Environment Variable Source: https://docs.immichkiosk.app/configuration/image-effects Set the image effect using the `KIOSK_IMAGE_EFFECT` environment variable in your `docker-compose.yaml` file. Supported values are 'none', 'zoom', and 'smart-zoom'. ```yaml environment: KIOSK_IMAGE_EFFECT: none ``` -------------------------------- ### Connect to Device Wirelessly Source: https://docs.immichkiosk.app/misc/frameo Once wireless ADB is enabled, use this command to connect to your Frameo device using its IP address and the configured port. ```bash adb connect :5555 ```