Skip to content
← All apps

Dashy

Build a configurable dashboard with sections, widgets, status checks and themes.

Choose your deployment and the way you want to use Selfhost. The instructions below follow that choice.

Set up Dashy

Build a configurable dashboard with sections, widgets, status checks and themes.

  • The native deployment creates files/dashy.yaml and mounts it as /app/user-data/conf.yml.
  • Configure page details, sections and pages in Native settings. Runtime editing is disabled because the portable configuration is mounted read-only.
Customize deployment inputs (1)
Local HTTP port port
portDefault: 18084

Save this as inputs.json and adjust the values before initialization.

{
  "port": 18084
}
selfhost app --directory ./dashy init dashy --method native --inputs inputs.json

Initialization writes portable files and does not start the app. Review compose.yaml, the private .env and any files in files/, then start it:

selfhost app --directory ./dashy start

No Selfhost dashboard or background service is needed. You can also start these files directly:

cd dashy
docker compose -f compose.yaml up -d
  • Review the portable Compose and native configuration before starting.
  • The default listener is local-only. Add an authenticated HTTPS proxy before exposing private data.
  • Manage the native YAML through Selfhost or your editor; in-browser file saving is disabled for this read-only mount.
  • Client-side Dashy login is not a substitute for an authenticated reverse proxy protecting its assets and API.

Before configuring integrations

  • Native fields cover layout, theme, status checks, navigation, authentication and Keycloak settings.
  • Keep keys and service credentials in appropriate protected configuration and review widget network access.
  • Browser-side authentication alone does not protect all HTTP resources. Use reverse proxy authentication for sensitive deployments.
  • Selfhost does not automatically register a Keycloak client or synchronize dashboard links for Dashy.

Dashy integrations

Compose service: dashy. These operations use the profile saved when this deployment is created.

  • Keep authentication at a reverse proxy; browser-side dashboard login does not protect server assets or APIs.
  • This recipe mounts configuration read-only; edit through Selfhost or the exported YAML.

Native settings

Changes use the app’s native YAML file. Unrelated settings are preserved.

Supported fields (16)
pageInfo / title pageinfo-title
string · advanced
pageInfo / description pageinfo-description
string · advanced
pageInfo / logo pageinfo-logo
string · advanced
pageInfo / navLinks pageinfo-navlinks
json · advanced
appConfig / theme appconfig-theme
string · advanced
appConfig / layout appconfig-layout
string · advanced
appConfig / iconSize appconfig-iconsize
string · advanced
appConfig / language appconfig-language
string · advanced
appConfig / statusCheck appconfig-statuscheck
boolean · advanced
appConfig / statusCheckInterval appconfig-statuscheckinterval
integer · advancedRange: 10 to unbounded
appConfig / hideComponents appconfig-hidecomponents
json · advanced
appConfig / auth appconfig-auth
json · advanced
appConfig / keycloak appconfig-keycloak
json · advanced
appConfig / customCss appconfig-customcss
string · advanced
sections sections
json · advanced
pages pages
json · advanced

Save a JSON map of the field IDs you want to change as changes.json. Replace FIELD_ID with an ID from the supported fields above, and use its declared value type. Review the plan and replace REVIEWED_REVISION with the revision it returns.

{
  "FIELD_ID": "YOUR_VALUE"
}
selfhost app --directory ./dashy config dashy
selfhost app --directory ./dashy plan dashy changes.json
selfhost app --directory ./dashy apply dashy changes.json --revision REVIEWED_REVISION

Saved changes need service recreation to become active. Existing interpolated environment values stay under your control in .env or Compose.

App actions

Check Dashy health

Run the dashboard image health check.

selfhost app --directory ./dashy action dashy check-health

App configuration reference

Versions and updates

This deployment uses the following images. Existing projects retain their saved recipe and images. A new catalogue version does not silently update them.

  • dashy: lissy93/dashy:4.7.0
  • 4.7.0 lissy93/dashy:4.7.0

    Local Docker HTTP startup, native configuration roundtrip, declared read-only actions and container recreation with persistent volumes passed. Native file bytes used a fixture volume because this host did not share bind directories; host file sharing remains unverified. External authentication and version upgrades require separate validation.

Review compatibility and back up app data before an update. Choose an image version and review the change.

Keep control of your setup

Selfhost remains optional. Your app runs using ordinary Compose files, its own settings and persistent data. Keep the Compose project name and volumes to preserve storage. Configuration exports and setting backups do not include application data.

Standalone CLI guide · Backups and removal · Dashy documentation

Built by Obiente. Your services, your configuration.