Why Your Browser’s Default Start Page Is Wasting Your Time
Every time you open a new browser tab, you’re handed something you didn’t ask for – a search bar you’ll ignore, news headlines you won’t read, and a weather widget for a city you might not even live in anymore. Browser manufacturers design default start pages to keep you inside their ecosystem, not to help you get things done. Dasherr flips that arrangement entirely.
Dasherr is a lightweight, self-hosted start page designed around one idea: show you only what you actually use. No analytics, no cloud sync, no account required. You host it yourself on a local machine or a server, point your browser at it, and every new tab opens to a clean grid of your own bookmarked services, tools, and links. The configuration lives in a single JSON file, the interface loads in milliseconds, and the whole project can run on hardware as modest as a Raspberry Pi.
If you already run a home server or a homelab setup, Dasherr fits right alongside other self-hosted tools.

What You Need Before You Start
Dasherr is distributed as a Docker image, so the fastest path to getting it running is having Docker and Docker Compose installed on your machine. A Linux-based host is ideal – whether that’s a dedicated server, a spare desktop, or a Pi sitting on a shelf – but it will also run on macOS and Windows via Docker Desktop. You don’t need a domain name or a reverse proxy to get started, though both are easy to add later if you want Dasherr accessible from outside your local network.
You’ll also want a text editor comfortable with JSON. Dasherr stores all its configuration in a settings.json file, which you’ll edit directly to add apps, change themes, and organize your layout. There’s no web-based admin panel, which is a deliberate design choice – it keeps the app stateless and fast. If you’ve used other self-hosted dashboards like Homer or Flame, the approach will feel familiar, though Dasherr’s file structure is noticeably simpler.
Check that ports 4000 (Dasherr’s default) or whichever port you plan to map are not already in use on your host before proceeding. Running sudo ss -tlnp on Linux will show you active listeners quickly. With that confirmed, you’re ready to pull the image and spin up the container.
Installing and Configuring Dasherr with Docker
Start by pulling the official image and creating a working directory for your Dasherr instance. Create a folder called dasherr wherever you keep your Docker projects, then add a docker-compose.yml file inside it. The compose file is minimal – you’re defining the image, the port mapping, and a volume mount that points to your local config folder so your settings persist across container restarts.

A basic docker-compose.yml looks like this:
- image: eritrier/dasherr:latest
- container_name: dasherr
- ports: “4000:4000”
- ./config:/config
- restart: unless-stopped
volumes:
Run docker compose up -d from inside that folder. Docker will pull the image and start the container in detached mode. On first launch, Dasherr generates a default settings.json inside your mounted config folder. Open that file in your editor – it contains a working example layout with placeholder apps. Each app entry needs a name, a URL, and optionally an icon. Dasherr supports icons from the popular Dashboard Icons repository, so you can reference icons by slug name rather than managing image files manually. Once you’ve edited settings.json, refresh the page in your browser and your changes appear instantly – no container restart required.
Customizing Your Layout and Making It Your Actual Start Page
The settings.json file controls everything: app tiles, categories, background color, font, and grid column count. Apps are grouped into sections, each with a label and a list of items. You can have one section for self-hosted tools, another for work apps, another for media – whatever matches how your brain organizes things. The grid adapts to screen width, so the same config works on a laptop and a widescreen monitor without separate breakpoints.
Theming is handled through a handful of JSON keys for background, text, and accent colors. Dasherr ships with dark mode ready out of the box, and switching to a light theme is a matter of changing three hex values. For users who want to go further, the project’s GitHub repository includes community-contributed theme presets that can be dropped directly into the config file. There’s no CSS overriding required unless you want something the built-in options don’t cover.
To set Dasherr as your browser’s actual new tab page, the most reliable method across Chrome, Firefox, and Edge is a browser extension that overrides the new tab URL. Extensions like New Tab Redirect (Chrome/Edge) or New Tab Override (Firefox) let you point the new tab to any local or remote URL – in this case, http://your-server-ip:4000. If you access Dasherr from multiple devices, putting it behind a reverse proxy like Nginx Proxy Manager and giving it a local domain name such as start.home makes the experience much cleaner and worth the extra fifteen minutes of setup.

Running Dasherr Alongside the Rest of Your Homelab
Dasherr works best as the front door to a broader self-hosted stack. If you’re already running tools like Beszel for server monitoring, adding it as a tile in Dasherr takes about thirty seconds – paste in the URL, pick an icon, and it shows up the next time you open a tab. That frictionless connection between your start page and your actual infrastructure is what separates Dasherr from a glorified bookmarks bar. The config file is plain text, easy to back up, and trivial to version-control with Git – which means your entire start page setup can live in a private repository and be restored on a new machine in under two minutes.





