# gethomepage/homepage

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/gethomepage-homepage).**

28,487 stars · 1,789 forks · JavaScript · gpl-3.0

## Links

- GitHub: https://github.com/gethomepage/homepage
- Homepage: https://gethomepage.dev
- awesome-repositories: https://awesome-repositories.com/repository/gethomepage-homepage.md

## Topics

`docker` `homepage` `nextjs` `node` `react` `self-hosted` `startpage`

## Description

This project is a self-hosted dashboard portal designed to centralize access to internal applications and infrastructure services. It functions as a configuration-driven platform that automatically discovers and organizes services from container runtimes and cluster management systems, presenting them within a unified, customizable web interface.

The system distinguishes itself through a declarative widget framework that allows users to construct dashboard components by mapping raw API responses to visual elements. It includes a secure internal proxy layer that handles authentication, header injection, and request routing for external services, ensuring that data retrieval remains isolated and controlled. Developers can extend the platform by authoring custom widgets using standardized lifecycle hooks, which are supported by a comprehensive suite of unit and integration tests to ensure reliable data fetching and error handling.

The platform covers a broad range of infrastructure monitoring and management capabilities, including real-time visualization of resource utilization for servers, containers, and virtual machines. Users can organize their dashboard through a hierarchical layout engine that supports nested service groups and flexible grid arrangements. The system also features a centralized localization layer to ensure consistent multi-language support across all interface elements and widgets.

The application is managed through a centralized configuration file, which governs service discovery, global settings, and the behavior of various modular widgets.

## Tags

### Business & Productivity Software

- [Service Dashboards](https://awesome-repositories.com/f/business-productivity-software/service-dashboards.md) — | Centralizing access to multiple internal applications and services through a single, customizable web interface for easier navigation.
- [Dashboard Widgets](https://awesome-repositories.com/f/business-productivity-software/dashboard-widgets.md) — Configure custom API widgets to fetch and display data from self-hosted or third-party endpoints using path mappings and optional authentication credentials. ([source](https://gethomepage.dev/widgets/services/customapi/))

### User Interface & Experience

- [Component Authoring Frameworks](https://awesome-repositories.com/f/user-interface-experience/component-authoring-frameworks.md) — Build custom widget components by fetching data from APIs and rendering interface elements using provided hooks and utilities for consistent integration. ([source](https://gethomepage.dev/widgets/authoring/))
- [Component Composition Frameworks](https://awesome-repositories.com/f/user-interface-experience/component-composition-frameworks.md) — Dashboard components are constructed by mapping raw API responses to visual elements using predefined transformation rules and metadata configurations.
- [Dashboard Widgets](https://awesome-repositories.com/f/user-interface-experience/dashboard-widgets.md) — Configure widget views to toggle between detailed graphical representations and compact text-only layouts to optimize dashboard space and visual clarity. ([source](https://gethomepage.dev/widgets/services/glances/))
- [Layout Engines](https://awesome-repositories.com/f/user-interface-experience/layout-engines.md) — The interface organizes services and widgets into nested groups and flexible grid structures defined by the user configuration.
- [Calendar Components](https://awesome-repositories.com/f/user-interface-experience/calendar-components.md) — Display a calendar widget that aggregates events from various services or feeds, offering both monthly grid and agenda list views. ([source](https://gethomepage.dev/widgets/services/calendar/))
- [Content Embedding Tools](https://awesome-repositories.com/f/user-interface-experience/content-embedding-tools.md) — Embed external content within a dashboard using a configurable widget that supports custom dimensions, security policies, and automatic refresh intervals. ([source](https://gethomepage.dev/widgets/services/iframe/))
- [Dashboard Layouts](https://awesome-repositories.com/f/user-interface-experience/dashboard-layouts.md) — Arrange service and bookmark groups using row or column layouts, icon-only styles, and custom sorting to organize the dashboard interface. ([source](https://gethomepage.dev/configs/settings/))

### DevOps & Infrastructure

- [Service Discovery Orchestrators](https://awesome-repositories.com/f/devops-infrastructure/service-discovery-orchestrators.md) — A configuration-driven platform that automatically detects and organizes running services from container runtimes and cluster management systems.
- [Container Orchestration Management](https://awesome-repositories.com/f/devops-infrastructure/container-orchestration-management.md) — | Managing and tracking the health of services running across Docker or Kubernetes environments through automated discovery and configuration.
- [Service Discovery](https://awesome-repositories.com/f/devops-infrastructure/service-discovery.md) — The system dynamically identifies and tracks infrastructure services by parsing centralized configuration files and scanning connected container environments. ([source](https://gethomepage.dev/configs/kubernetes/))
- [Container Instance Management](https://awesome-repositories.com/f/devops-infrastructure/container-instance-management.md) — Differentiate between multiple application instances by assigning unique names and scoping service labels to prevent configuration conflicts in complex environments. ([source](https://gethomepage.dev/configs/docker/))
- [Container Connection Managers](https://awesome-repositories.com/f/devops-infrastructure/container-connection-managers.md) — Connect to Docker instances using IP addresses, local sockets, or secure encrypted connections by defining host and authentication details in the configuration file. ([source](https://gethomepage.dev/configs/docker/))

### Testing & Quality Assurance

- [Component Testing](https://awesome-repositories.com/f/testing-quality-assurance/software-testing/component-testing.md) — Test widget components by running unit and component tests that cover loading states, error handling, configuration mapping, and proxy request construction. ([source](https://gethomepage.dev/widgets/authoring/getting-started/))

### Development Tools & Productivity

- [Dashboard Portals](https://awesome-repositories.com/f/development-tools-productivity/dashboard-portals.md) — A centralized web interface that aggregates service links, bookmarks, and real-time infrastructure metrics into a single customizable landing page.
- [Configuration Schemas](https://awesome-repositories.com/f/development-tools-productivity/configuration-schemas.md) — Configure widget metadata including API endpoints, proxy handlers, and data mappings to control how information is retrieved and processed for display. ([source](https://gethomepage.dev/widgets/authoring/))
- [Service Organization Tools](https://awesome-repositories.com/f/development-tools-productivity/service-organization-tools.md) — Group services into hierarchical structures and nested sub-groups to maintain a clean and organized dashboard layout for multiple service entries. ([source](https://gethomepage.dev/configs/services/))

### Software Engineering & Architecture

- [API Gateways](https://awesome-repositories.com/f/software-engineering-architecture/api-gateways.md) — External service data is retrieved through a secure internal proxy layer that handles authentication, header injection, and request routing.
- [Localization Systems](https://awesome-repositories.com/f/software-engineering-architecture/localization-systems.md) — A unified translation layer manages all text strings and numerical formatting to ensure consistent multi-language support across the dashboard.

### System Administration & Monitoring

- [Infrastructure Monitoring Dashboards](https://awesome-repositories.com/f/system-administration-monitoring/infrastructure-monitoring-dashboards.md) — A visual monitoring tool that tracks resource utilization and service health across local, containerized, and cloud-based computing environments.
- [Virtualization Monitoring](https://awesome-repositories.com/f/system-administration-monitoring/virtualization-monitoring.md) — Monitor CPU and memory statistics for virtual machines or containers by configuring specific node and identification parameters within the service definition. ([source](https://gethomepage.dev/configs/proxmox/))
- [Infrastructure Monitoring](https://awesome-repositories.com/f/system-administration-monitoring/infrastructure-monitoring.md) — | Visualizing real-time performance metrics and status updates for servers, containers, and virtual machines in one unified view.
- [Metric Visualization Tools](https://awesome-repositories.com/f/system-administration-monitoring/metric-visualization-tools.md) — Configure Prometheus metric displays by applying data transformations like scaling, prefixing, and suffixing alongside various formatting types for numbers and units. ([source](https://gethomepage.dev/widgets/services/prometheusmetric/))
- [System Monitoring Dashboards](https://awesome-repositories.com/f/system-administration-monitoring/system-monitoring-dashboards.md) — Monitor system metrics including CPU, memory, disk, network, and container usage by configuring specific parameters for display in the dashboard. ([source](https://gethomepage.dev/widgets/services/glances/))
- [Cluster Monitoring](https://awesome-repositories.com/f/system-administration-monitoring/cluster-monitoring.md) — Monitor Docker Swarm clusters by configuring manager node placement and using service-level labels to ensure all services are correctly discovered and tracked. ([source](https://gethomepage.dev/configs/docker/))
- [Dashboard Widgets](https://awesome-repositories.com/f/system-administration-monitoring/dashboard-widgets.md) — Configure DNS server widgets to display statistics by providing authentication credentials, selecting cluster nodes, and defining the historical time range. ([source](https://gethomepage.dev/widgets/services/technitium/))
- [Resource Metrics](https://awesome-repositories.com/f/system-administration-monitoring/resource-metrics.md) — Monitor Kubernetes services by pulling CPU and memory statistics from pods using label selectors or custom pod selectors for complex deployments. ([source](https://gethomepage.dev/configs/kubernetes/))
- [Storage Monitoring](https://awesome-repositories.com/f/system-administration-monitoring/storage-monitoring.md) — Provides real-time monitoring and visualization of storage statistics through configurable dashboard widgets. ([source](https://gethomepage.dev/widgets/services/unifi-drive/))

### Web Development

- [Data Fetching Hooks](https://awesome-repositories.com/f/web-development/data-fetching-hooks.md) — Fetch data from widget-specific API endpoints by providing metadata, endpoint names, and optional query parameters to a hook that manages request state. ([source](https://gethomepage.dev/widgets/authoring/api/))
- [Data Fetching Utilities](https://awesome-repositories.com/f/web-development/data-fetching-utilities.md) — Fetch data via proxy using built-in handlers that support both unauthenticated requests and requests requiring API keys passed via query parameters. ([source](https://gethomepage.dev/widgets/authoring/proxies/))
- [Proxy Handlers](https://awesome-repositories.com/f/web-development/proxy-handlers.md) — Create custom proxy handlers to manage specific API request logic, response mapping, and data transformation by accessing request and response objects directly. ([source](https://gethomepage.dev/widgets/authoring/proxies/))
- [Widget Frameworks](https://awesome-repositories.com/f/web-development/widget-frameworks.md) — A modular architecture that allows developers to build and integrate custom data-fetching components for displaying live service information.

### Security & Cryptography

- [Proxy Authentication Strategies](https://awesome-repositories.com/f/security-cryptography/proxy-authentication-strategies.md) — Authenticate proxy requests by automatically setting request headers, such as API keys, using credentials defined in the widget configuration. ([source](https://gethomepage.dev/widgets/authoring/proxies/))
- [Socket Proxies](https://awesome-repositories.com/f/security-cryptography/socket-proxies.md) — Proxy Docker sockets through a container to restrict API access and prevent direct exposure of the host socket to the application. ([source](https://gethomepage.dev/configs/docker/))
- [Endpoint Validation Policies](https://awesome-repositories.com/f/security-cryptography/endpoint-validation-policies.md) — Map widget endpoints to a whitelist, defining validation rules, request parameters, and data transformation logic to securely fetch and process service data. ([source](https://gethomepage.dev/widgets/authoring/metadata/))

### Networking & Communication

- [Notification Integrations](https://awesome-repositories.com/f/networking-communication/notification-integrations.md) — Configure notification widget access by connecting to public or private topics using bearer tokens or basic authentication credentials for secure message feeds. ([source](https://gethomepage.dev/widgets/services/ntfy/))
