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 startNo 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-healthVersions 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.0Local 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