10 guides · synced daily from GitHub
Bercail docs
A start page for your homelab. Your links with a live up/down dot, the weather and your server’s vitals on top, and a new tab extension to open it everywhere.
Getting started
Run Bercail and configure it
Installation
Data lives in a SQLite file under /app/data. Database migrations run automatically on startup.
Configuration
Everything is optional. For local development, copy .env.example to .env.
Features
The page refreshes its stats every 5 seconds. Drag a section by the grip in its left margin to reorder the dashboard; the order is saved on the server.
Guides
Weather, sign-in, host metrics and the new tab extension
Weather location
The first of these that is set wins:
Sign-in
Without OIDCISSUER the app is open to anyone who can reach it. With it, every page asks for a sign-in through your provider (Pocket ID, Authentik, Authelia, Keycloak, ...). Register a confidential client with the redirect URL <ORIGIN>/auth/callback. Sessions last 30 days and renew while in use.
Host metrics
A metric that can't be read shows N/A without affecting the others.
New tab extension
The extension in extension/ shows your Bercail instance on every new tab.
Contributing
Work on Bercail and ship releases
Development
Requires Bun. prek comes in as a dev dependency.
Releases
Every merge to main goes through releaser. A feat, fix, perf, refactor or docs commit cuts a patch release: it updates CHANGELOG.md, tags vX.Y.Z, creates the GitHub release with bercail-extension-X.Y.Z.zip attached, and publishes the image under that tag and latest. Pull requests publish a pr-<number> image, and their titles must be Conventional Commits because the squash merge uses them as the commit message.