1 Dashy
Matt Cupp edited this page 2026-05-29 17:35:45 -04:00

Dashy

Homelab start page / dashboard. Displays links to all self-hosted services organized by host, with icons and status checks.

Where it runs

  • Host: Nexus (192.168.1.226)
  • UI: http://192.168.1.226:4000
  • Managed by: Komodo (server nexus, Stack dashy)
  • Compose file: dashy/docker-compose.yml in homelab-docker repo

Docker

image: lissy93/dashy:4.1.6
ports:
  - 4000:8080
volumes:
  - /mnt/server/containers/dashy:/app/user-data
  - /home/matt/repos/homelab-docker/dashy/conf.yml:/app/user-data/conf.yml

The conf.yml bind-mount (second volume) is what makes git-tracked config work. The first volume (/mnt/server/containers/dashy) holds everything else Dashy writes (logs, cache, etc.).

Editing the Dashboard (conf.yml)

dashy/conf.yml is committed to the homelab-docker repo. This is the only supported way to change the dashboard layout.

  1. Edit dashy/conf.yml on Atlas or via any git clone of homelab-docker.
  2. Commit and push to main.
  3. Komodo detects the push via webhook and redeploys the stack automatically.

Do NOT use the Dashy web UI editor. The UI saves changes to the browser's localStorage — those changes survive only in that browser session and are lost on container restart. They are never written to conf.yml or to git.

conf.yml structure

pageInfo:       # Page title, description
appConfig:      # Theme, layout, icon size, default open behavior
sections:       # List of named groups, each with an items list
  - name: ...
    items:
      - title, description, url, icon, target

Current sections: Nexus, Proxmox, Media, Minecraft, High Seas, Utilities.

Adding a new service

- title: My Service
  description: What it does (host:port)
  url: http://192.168.1.xxx:PORT
  icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/<name>.png
  target: newtab

Browse available icons at https://selfh.st/icons/ (linked in the Utilities section of the dashboard itself). For services without a selfhst icon, use a Font Awesome class: icon: fas fa-server.

For HTTPS services with self-signed certs, add:

statusCheckAllowInsecure: true

Renovate

Renovate tracks the lissy93/dashy image tag. When a new version is published, Renovate opens a PR against homelab-docker updating the tag in dashy/docker-compose.yml. Merge the PR — Komodo redeploys automatically.

Troubleshooting

# Container logs
ssh matt@192.168.1.226 'docker logs Dashy --tail 50'

# Verify conf.yml is mounted correctly inside the container
ssh matt@192.168.1.226 'docker exec Dashy cat /app/user-data/conf.yml | head -5'

Config changes not showing after a push:

  1. Confirm the change is in git: git log --oneline dashy/conf.yml
  2. Verify Komodo pulled and redeployed (check the Stack deploy log in the Komodo UI at http://192.168.1.226:9120).
  3. If the container is running the old config, trigger a manual redeploy from Komodo or restart the stack:
    ssh matt@192.168.1.226 'docker compose -f /home/matt/repos/homelab-docker/dashy/docker-compose.yml up -d'
    
  4. Hard-refresh the browser (Ctrl+Shift+R) to bypass any cached page.

UI editor changes disappeared: Expected — see conf.yml editing note above. Always use git.