Overview
Discover what makes Heimdall powerful
Heimdall is a self‑hosted web‑based dashboard that aggregates links to any resource—web apps, internal services, documentation, or arbitrary URLs. From a developer’s perspective it functions as a lightweight front‑end gateway: users navigate to the Heimdall instance, and the server serves a single page that renders an organized grid of links. The application deliberately avoids iframe encapsulation or API abstraction, keeping the data flow simple: each link is a static URL stored in a configuration file or database, and the front‑end renders it with optional icons and categories. This minimalism reduces attack surface and eases maintenance.
Front‑end
Back‑end
Data store
Authentication
Overview
Heimdall is a self‑hosted web‑based dashboard that aggregates links to any resource—web apps, internal services, documentation, or arbitrary URLs. From a developer’s perspective it functions as a lightweight front‑end gateway: users navigate to the Heimdall instance, and the server serves a single page that renders an organized grid of links. The application deliberately avoids iframe encapsulation or API abstraction, keeping the data flow simple: each link is a static URL stored in a configuration file or database, and the front‑end renders it with optional icons and categories. This minimalism reduces attack surface and eases maintenance.
Architecture
- Front‑end: Built with Vue.js (v2) and Bootstrap‑Vue for responsive layout. The UI is a single‑page application that fetches the link catalog via a REST endpoint (
/api/apps). - Back‑end: A Node.js server (Express) exposes the API and serves static assets. The runtime is lightweight, requiring only Node ≥12.x.
- Data store: Links are persisted in a JSON file (
config.json) by default, but the code supports SQLite for larger deployments. The schema is simple:id,title,url,category,icon, and optional metadata. - Authentication: Optional Basic Auth or JWT support via middleware; no built‑in OAuth, keeping the stack lean.
- Containerization: Official Docker image (
linuxserver/heimdall) exposes port 80 and mounts a volume for the configuration file, making it trivial to deploy in Kubernetes or Docker‑Compose.
Core Capabilities
- REST API: Endpoints for CRUD operations on apps (
GET /api/apps,POST /api/apps, etc.). These can be consumed by custom scripts or third‑party integrations. - Webhooks: The API can emit events (e.g., app added) that external services can subscribe to.
- Plugin hooks: The back‑end exposes a simple plugin system where additional middleware or routes can be injected, allowing developers to extend functionality (e.g., adding search indexing).
- Icon & Theme support: Icons are loaded from Font Awesome or custom SVGs; themes can be swapped by replacing CSS variables, enabling branding.
Deployment & Infrastructure
Heimdall is designed for self‑hosting with minimal overhead:
- Hardware: Runs comfortably on a Raspberry Pi or any modest VPS (512 MiB RAM, 1 CPU).
- Scalability: Stateless front‑end and lightweight API allow horizontal scaling behind a reverse proxy.
- High Availability: Docker‑Compose or Helm charts enable multi‑pod deployments with persistent volumes for the config file.
- Backup: The JSON configuration can be version‑controlled or backed up to S3/MinIO, simplifying disaster recovery.
Integration & Extensibility
- External Service Links: Since Heimdall stores raw URLs, it can link to any REST API, internal service, or public endpoint.
- Custom Scripts: The API can be called from CI/CD pipelines to automatically add or update dashboard entries when new services are provisioned.
- Webhooks: Integration with GitHub or GitLab to trigger dashboard updates on repository events.
- Community Plugins: The LinuxServer.io ecosystem includes community‑maintained Docker images and scripts that add authentication or analytics layers.
Developer Experience
- Configuration: The
config.jsonfile is human‑readable; developers can edit it directly or generate it via scripts. - Documentation: The README provides a concise overview; the API is documented in Swagger‑style comments within the source.
- Community: Backed by LinuxServer.io, Heimdall benefits from active issue tracking and frequent Docker image updates.
- Extensibility: The modular codebase allows developers to fork and add custom features without touching the core.
Use Cases
- Personal Service Hub – Developers hosting multiple micro‑services can expose a single dashboard to teammates, simplifying navigation.
- Internal Tooling Portal – IT teams can create a branded portal linking to Jira, Confluence, monitoring dashboards, and internal tooling.
- DevOps Automation – CI/CD pipelines can push new service URLs to the API, automatically reflecting them in the dashboard for end‑users.
- Educational Environments – Instructors can curate a list of learning resources, APIs, and labs for students in one place.
Advantages
- Simplicity & Performance: Zero‑iframe architecture keeps load times minimal and avoids cross‑origin complications.
- Open Source & Free: MIT‑licensed, no subscription costs—ideal for open‑source projects or internal tooling.
- Low Footprint: Lightweight Node/Express stack consumes little memory, enabling deployment on constrained hardware.
- Rapid Extensibility: JSON config and REST API make it trivial to integrate with existing tooling, unlike monolithic dashboards that require complex data pipelines.
In summary, Heimdall offers developers a lean, extensible gateway to organize and expose any web resource. Its straightforward architecture, Docker‑friendly deployment, and open API make it an attractive choice for internal portals, personal dashboards, or automated service registries.
Open SourceReady to get started?
Join the community and start self-hosting Heimdall 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
Selfoss
Universal web‑based RSS reader and aggregator
bitmagnet
Self‑hosted BitTorrent indexer with DHT crawling
Calibre-Web
Web‑based eBook library manager and reader
Odoo
All-in-one open source business suite
string.is
Privacy‑friendly string conversion toolkit for developers
Blocky
Fast, privacy‑first DNS proxy and ad blocker for local networks