Skip to content

Themepark Styles

Saltbox can apply themes from ThemePark to supported applications through the inventory. Themes are applied via the Traefik Plugin which performs CSS replacement at the reverse proxy (rather than application) level.

Plugin note: You must run sb install traefik once after setting global_themepark_plugin_enabled: true in order to provision the theme middlewares.

For example:

NZBGet default appearance:

NZBGet with the "nord" theme:

Sonarr with the "hotline" theme:

Choose the theme and apply it to containers in in inventory:

# global theme
global_themepark_theme: "nord"

# enable Traefik plugin
global_themepark_plugin_enabled: true

# apps using global theme:
container_name_themepark_enabled: true

# different theme for an app:
container_name_themepark_theme: hotline
container_name_themepark_enabled: true

for example, in /srv/git/saltbox/inventories/host_vars/localhost.yml:

# Instructions on how to utilize this file can be found here https://docs.saltbox.dev/saltbox/inventory/

# global theme
global_themepark_theme: "nord"

# apps using global theme:
nzbget_themepark_enabled: true

# different theme for an app:
sonarr_themepark_theme: "hotline"
sonarr_themepark_enabled: true

# enable Traefik plugin
global_themepark_plugin_enabled: true

# apps using Traefik plugin
plex_themepark_enabled: true
nzbhydra2_themepark_enabled: true

Available themes can be found here. Refer to them in the inventory file by name:

organizr
dark
dracula
aquamarine
space gray
plex
hotline
hotpink
overseerr
nord
maroon

Note: If you are utilizing Theme.Park on any roles, you must run sb install traefik after changing any themes via inventory variables.

List of roles that support Theme.Park on the Saltbox side can be found by running:

(grep -Ril "_themepark_enabled: false" /srv/git/saltbox/roles | cut -d/ -f6; grep -Ril "_themepark_enabled: false" /opt/sandbox/roles | cut -d/ -f5) | sort -u