Skip to content

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

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

Settings

Key Value
CONFIG port
ENV KIOSK_PORT
URL N/A
VALUE int
DEFAULT 3000
Using with config.yaml file
port: 3000
Using with ENV in your docker-compose file
environment:
KIOSK_PORT: 3000

If you are running Kiosk behind a proxy, set this to true. This will enable Kiosk to look up the X-Forwarded-For header to determine the client’s IP address, which is used to create a unique device ID for each client.

Settings

Key Value
CONFIG behind_proxy
ENV KIOSK_BEHIND_PROXY
URL N/A
VALUE bool
DEFAULT false
Using with config.yaml file
behind_proxy: false
Using with ENV in your docker-compose file
environment:
KIOSK_BEHIND_PROXY: false

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

Settings

Key Value
CONFIG watch_config
ENV KIOSK_WATCH_CONFIG
URL N/A
VALUE bool
DEFAULT false
Using with config.yaml file
watch_config: false
Using with ENV in your docker-compose file
environment:
KIOSK_WATCH_CONFIG: false

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

Settings

Key Value
CONFIG fetched_assets_size
ENV KIOSK_FETCHED_ASSETS_SIZE
URL N/A
VALUE int
DEFAULT 1000
Using with config.yaml file
fetched_assets_size: 1000
Using with ENV in your docker-compose file
environment:
KIOSK_FETCHED_ASSETS_SIZE: 1000

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

Settings

Key Value
CONFIG http_timeout
ENV KIOSK_HTTP_TIMEOUT
URL N/A
VALUE int
DEFAULT 20
Using with config.yaml file
http_timeout: 20
Using with ENV in your docker-compose file
environment:
KIOSK_HTTP_TIMEOUT: 20

If a password is set, at least one of the auth headers or the ?password= URL parameter must be included in your request for access.

Settings

Key Value
CONFIG password
ENV KIOSK_PASSWORD
URL N/A
VALUE string
DEFAULT
Using with config.yaml file
password:
Using with ENV in your docker-compose file
environment:
KIOSK_PASSWORD:

via config.yaml file

kiosk:
password: 12345

via ENV in your docker-compose file

environment:
KIOSK_PASSWORD: "12345"

Then to access Kiosk you MUST add the password param in your URL e.g. http://{URL}?password=12345

You can authenticate requests by including either the X-Api-Key or Authorization header with your password value. This is an alternative to passing the password as a URL parameter.

Examples:

Terminal window
GET / HTTP/1.1
Host: 192.168.0.123:3000
X-Api-Key: 12345
Terminal window
GET / HTTP/1.1
Host: 192.168.0.123:3000
Authorization: Bearer 12345

Cache selective Immich api calls to reduce unnecessary calls.

Settings

Key Value
CONFIG cache
ENV KIOSK_CACHE
URL N/A
VALUE bool
DEFAULT true
Using with config.yaml file
cache: true
Using with ENV in your docker-compose file
environment:
KIOSK_CACHE: true

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

Settings

Key Value
CONFIG prefetch
ENV KIOSK_PREFETCH
URL N/A
VALUE bool
DEFAULT true
Using with config.yaml file
prefetch: true
Using with ENV in your docker-compose file
environment:
KIOSK_PREFETCH: 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.

Settings

Key Value
CONFIG asset_weighting
ENV KIOSK_ASSET_WEIGHTING
URL N/A
VALUE bool
DEFAULT true
Using with config.yaml file
asset_weighting: true
Using with ENV in your docker-compose file
environment:
KIOSK_ASSET_WEIGHTING: true