-
Notifications
You must be signed in to change notification settings - Fork 0
Getting Started
ZeroDash is designed to be simple to run, light on resources, and backend-less. It works entirely as a static frontend and can be served by any web server or reverse proxy.
You only need:
- A modern browser
- A static file server or reverse proxy
ZeroDash does not require:
- Node.js
- npm
- A backend service
- A database
- Any build step (for usage)
All backend logic (automation, state changes, status checks) must be implemented by the user using tools such as python, shell scripts, or custom APIs.
ZeroDash supports layout overrides via the URL, for example:
https://example.com/admin
https://example.com/portraitFor this to work correctly, your server must always serve the same index.html file, regardless of the path after /.
This means:
//admin/portrait/anything-else
must all return the same index.html.
If this is not configured correctly:
- Layout overrides via URL will not work
- Right-click layout switching will break
Below is a working Caddy configuration that correctly serves ZeroDash and supports layout overrides:
https://my-site.com {
tls your-crt your-key
# Where the index.html file is present
root * /srv
file_server
try_files {path} {path}/ /index.html
encode gzip
}The key directive here is:
try_files {path} {path}/ /index.htmlThis ensures that: If the requested path does not exists Caddy falls back to serving index.html
This same behavior should be achievable with any reverse proxy, even though they may not be officially tested.
Examples that should work with similar configuration:
- nginx
- Apache
- Traefik
- HAProxy
- lighttpd
The exact syntax will differ, but the goal is always the same:
Always serve index.html for unknown paths
ZeroDash is fully usable with:
- Mouse
- Keyboard
Keyboard-first usage is intentional:
- Global search is triggered by typing
- Tiles can be navigated and executed without a mouse
ZeroDash is designed for:
- Homelabs
- Raspberry Pi–class devices
- Low-power systems
- ZeroDash is a static frontend
- It must always serve the same index.html
- Layout overrides rely on fallback routing
- Any reverse proxy can be used
- Backend logic is always user-owned