Skip to content

Getting Started

Ujwal N K edited this page Jan 5, 2026 · 2 revisions

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.

Basic Requirements

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.

Routing Requirement (Very Important)

ZeroDash supports layout overrides via the URL, for example:

https://example.com/admin
https://example.com/portrait

For 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

Example: Caddy Configuration

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.html

This ensures that: If the requested path does not exists Caddy falls back to serving index.html

Other Reverse Proxies

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

Interaction Model

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

Resource Considerations

ZeroDash is designed for:

  • Homelabs
  • Raspberry Pi–class devices
  • Low-power systems

Summary:

  • 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

Clone this wiki locally