Overview
Discover what makes Fenrus powerful
Fenrus is a lightweight, self‑hosted personal dashboard built on **ASP.NET Core 7**. Its core mission is to replace the default browser home page with a customizable, data‑driven interface that exposes quick links, widgets, and user‑specific settings. The application persists all configuration in a single encrypted **LiteDB** file (`Fenrus.db`), making it trivial to backup, migrate, or share across machines without compromising credentials.
Configurable Widgets
OAuth Integration
Plugin‑Friendly
Data Encryption
Overview
Fenrus is a lightweight, self‑hosted personal dashboard built on ASP.NET Core 7. Its core mission is to replace the default browser home page with a customizable, data‑driven interface that exposes quick links, widgets, and user‑specific settings. The application persists all configuration in a single encrypted LiteDB file (Fenrus.db), making it trivial to backup, migrate, or share across machines without compromising credentials.
Key Features
- Configurable Widgets – Users can drop, reorder, and resize components such as bookmarks, RSS feeds, or custom HTML snippets.
- OAuth Integration – Supports external identity providers (Google, Azure AD, etc.) with reverse‑proxy awareness.
- Plugin‑Friendly – Exposes a REST API and webhooks for third‑party extensions, enabling developers to add new widgets or automate dashboard updates.
- Data Encryption – Sensitive data (e.g., OAuth tokens) is encrypted with a key stored alongside the database, ensuring secure off‑site backups.
Technical Stack
| Layer | Technology |
|---|---|
| Runtime | .NET 7, ASP.NET Core MVC + Razor |
| Persistence | LiteDB (embedded NoSQL) with AES encryption |
| Containerization | Docker image revenz/fenrus:latest |
| Configuration | Environment variables + appsettings.json (reverse‑proxy, port) |
| Web Server | Kestrel (self‑hosted) behind optional reverse proxy |
The application is intentionally minimalistic: no external services are required, and all assets (JS/CSS) are bundled within the Docker image. This design reduces attack surface and simplifies compliance for security‑conscious environments.
Core Capabilities
- RESTful API – CRUD operations for widgets, user profiles, and authentication tokens. The API follows conventional ASP.NET routing patterns (
/api/widgets,/api/users). - Webhooks – POST endpoints that external services can call to trigger UI refreshes or data syncs.
- Plugin Hooks – Custom middleware can inject additional routes or modify the Razor view pipeline, allowing developers to extend functionality without touching core code.
- Template System – Razor partials are exposed for developers to create new widget types or override existing layouts.
Deployment & Infrastructure
Fenrus is designed for single‑instance deployments, but its stateless API layer and embedded database make it suitable for horizontal scaling with a shared volume (e.g., NFS, SMB). Typical deployment scenarios include:
- Docker Compose – Example compose file shows volume mapping for
/app/dataand environment variables for time zone, port, and reverse‑proxy settings. - Kubernetes – The container image can be run in a StatefulSet with a PersistentVolumeClaim for
/app/data. - Bare Metal – Directly run
dotnet Fenrus.dllon any machine with .NET 7 installed; the only requirement is file system access to the database folder.
Resource consumption is modest: a single container consumes < 200 MB of RAM under normal load, making it ideal for home labs or edge devices.
Integration & Extensibility
Fenrus’ plugin architecture is deliberately open. Developers can:
- Add New Widgets – Publish a NuGet package that registers Razor components and routes.
- Consume External APIs – Use the built‑in HTTP client factory to fetch data and push it into widgets.
- Expose Data – The API returns JSON, so any front‑end framework (React, Vue) can consume it for custom dashboards.
- Automate via Webhooks – Set up CI/CD pipelines to push configuration changes or refresh tokens automatically.
The reverse‑proxy section of the README details how to forward X-Forwarded-* headers, ensuring OAuth flows work correctly behind corporate proxies or cloud load balancers.
Developer Experience
- Configuration – Environment variables provide a clean, declarative way to tweak runtime behavior (port, TZ, reverse‑proxy flags).
- Documentation – The README covers installation, Docker usage, and reverse‑proxy configuration in a concise manner. API endpoints are documented via Swagger (auto‑generated from controller attributes).
- Community & Support – The project is open source on GitHub with an active issue tracker. Contributions are welcomed, and the author encourages pull requests for new widgets or integrations.
- Licensing – The MIT license allows unrestricted use, modification, and redistribution, making it attractive for internal tooling.
Use Cases
| Scenario | Why Fenrus? |
|---|---|
| Personal Productivity | Quick access to bookmarks, calendar widgets, and task lists on a single page. |
| Developer Portals | Host internal tools (GitHub, CI dashboards) behind a single, secure entry point. |
| IoT Monitoring | Embed sensor data widgets that poll local APIs and display real‑time metrics. |
| Enterprise Onboarding | Provide new employees with a pre‑configured dashboard that pulls from corporate services. |
| Edge Computing | Run on low‑power devices (Raspberry Pi) to expose local services via a clean UI. |
Advantages
- Zero‑Configuration Persistence – One encrypted file holds all state; no external database or schema migrations.
- Performance – ASP.NET Core’s Kestrel server delivers sub‑millisecond responses; LiteDB offers fast read/write for small datasets.
- Flexibility –
Open SourceReady to get started?
Join the community and start self-hosting Fenrus today
Related Apps in other
Immich
Self‑hosted photo and video manager
Syncthing
Peer‑to‑peer file sync, no central server
Strapi
Open-source headless CMS for modern developers
reveal.js
Create stunning web‑based presentations with HTML, CSS and JavaScript
Stirling-PDF
Local web PDF editor with split, merge, convert and more
MinIO
Fast, S3-compatible object storage for AI and analytics
Weekly Views
Repository Health
Information
Explore More Apps
Dovel
Self‑hosted SMTP server with web mail browsing
Documenso
Open‑source, self‑hosted e‑signature platform
Nginx Proxy Manager
Simple reverse proxy with free SSL for home networks
Mindustry
Strategic tower‑defense with automated resource processing
SyncTube
Synchronized video watching with chat for any group
Retrom
Centralized, self-hosted game library for all devices
