Menu
← All projects Dashboard · Self-hosted

Bercail

A start page for your homelab. The weather and your server’s vitals at the top, your links below, each with a dot that tells you whether it’s up before you click it.

The Bercail dashboard: weather, host gauges and analytics on top, groups of links below
The dashboard Weather and the host’s vitals on top, links underneath, each with its status dot. Straight out of the repo’s Playwright run, in whichever theme your system uses.

At a glance

System stats

CPU, RAM, disk, temperature and GPU gauges for the host it runs on, refreshed every 5 seconds. A metric it can’t read shows N/A and leaves the rest alone.

Weather

Current conditions and a 5-day forecast from Open-Meteo. No API key.

Analytics

Live visitors, plus visitors and pageviews per website over 24 hours, 7, 30, 365 days and all time, from your own Umami v3 instance.

Themes

Light, dark or system.

Every new tab

A Chrome extension puts your Bercail on every new tab. Grab bercail-extension.zip from the latest release, load it unpacked, point it at your instance. After the first visit the page comes out of a service worker cache, so a new tab doesn’t wait on the server.

An alternative to what, exactly

Homelab start pages are a crowded shelf. Here is where Bercail sits on it, including where it loses.

Homepage alternative

Homepage is configured in YAML and talks to more services than anyone runs. Bercail is edited in the page itself and ships a handful of widgets. If you want a tile for every *arr in your stack, keep Homepage.

Homarr & Dashy alternative

Both do everything, and have the settings screens to prove it. Bercail is links, status, weather, vitals and analytics, in one container with one SQLite file.

Homer alternative

Homer is a static page, so anything live happens in your browser, where CORS and self-signed certificates get in the way. Bercail checks your links from the server, and doesn’t mind either.

Heimdall & Flame alternative

The same idea — a tidy grid of your apps — with an up/down dot on every link, a ⌘K palette, and your server’s gauges above them.

start.me & Momentum alternative

A new tab page without an account on someone else’s server. The extension opens your own instance, and it can see the machines on your LAN, which theirs can’t.

Run it

Docker Compose

services:
  bercail:
    image: orochibraru/bercail:latest
    restart: unless-stopped
    environment:
      ORIGIN: https://dash.example.com
    ports:
      - 3000:3000
    volumes:
      - ./data:/app/data

One container, one volume. Everything lives in a SQLite file under /app/data, and migrations run on startup. Images are published for linux/amd64 and linux/arm64. Every setting is optional; set ORIGIN to the URL you browse to, or forms fail behind a reverse proxy.

Without OIDC_ISSUER it’s open to anyone who can reach it. Set it, with a client ID and secret, and every page asks for sign-in through your provider: Pocket ID, Authentik, Authelia, Keycloak. OIDC_ALLOWED_EMAILS narrows who gets in — set it unless your provider already does.