homepage
A highly customizable homepage (or startpage / application dashboard) with Docker and service API integrations.
Top Related Projects
A highly customizable homepage (or startpage / application dashboard) with Docker and service API integrations.
A very simple static homepage for your server.
Flame is self-hosted startpage for your server. Easily manage your apps and bookmarks with built-in editors.
HTPC/Homelab Services Organizer - Written in PHP
An Application dashboard and launcher
Customizable browser's home page to interact with your homeserver's Docker containers (e.g. Sonarr/Radarr)
Quick Overview
Homepage is a modern, fully static, fast, and customizable application dashboard. It's designed to be your browser's homepage, providing a sleek interface to access your most-used applications and services. The project is highly customizable, allowing users to create a personalized dashboard with various widgets and integrations.
Pros
- Fully static and fast, with no backend required
- Highly customizable with a wide range of widgets and integrations
- Docker support for easy deployment
- Active development and community support
Cons
- Requires some technical knowledge to set up and configure
- Limited built-in authentication options
- May require frequent updates to maintain compatibility with integrated services
- Some advanced features may require additional setup or external services
Getting Started
-
Clone the repository:
git clone https://github.com/gethomepage/homepage.git
-
Navigate to the project directory:
cd homepage
-
Copy the example configuration:
cp docker-compose.yml.example docker-compose.yml
-
Edit the
docker-compose.yml
file to customize your settings and services. -
Start the container:
docker-compose up -d
-
Access your new homepage at
http://localhost:3000
(or the port you specified).
For more detailed configuration options and customization, refer to the project's documentation on GitHub.
Competitor Comparisons
A highly customizable homepage (or startpage / application dashboard) with Docker and service API integrations.
Pros of Homepage
- Highly customizable dashboard for self-hosted services
- Active development with frequent updates and new features
- Large and growing community of users and contributors
Cons of Homepage
- Requires more setup and configuration compared to simpler alternatives
- May have a steeper learning curve for users new to self-hosting
Code Comparison
Both repositories appear to be the same project, so there isn't a relevant code comparison to make. The repository gethomepage/homepage is likely the main project repository, while gethomepage/homepage> might be a typo or an invalid reference.
Additional Notes
Homepage is a popular open-source project for creating a customizable dashboard for self-hosted services. It allows users to organize and access their various applications and services from a single, sleek interface. The project is actively maintained and has a growing ecosystem of widgets and integrations.
Since both repository names mentioned in the prompt appear to refer to the same project, it's not possible to provide a meaningful comparison between them. If you intended to compare Homepage with a different project, please provide the correct repository name for a more accurate comparison.
A very simple static homepage for your server.
Pros of Homer
- Simpler setup and configuration using a YAML file
- Lightweight and faster to load, especially for users with slower connections
- More customizable themes and color schemes out of the box
Cons of Homer
- Less feature-rich compared to Homepage
- Limited widget options and integrations
- Lacks real-time data updates without page refresh
Code Comparison
Homer (YAML configuration):
---
title: "My Dashboard"
subtitle: "Homer"
logo: "logo.png"
header: true
footer: '<p>Created with <a href="https://github.com/bastienwirtz/homer">Homer</a></p>'
services:
- name: "My Apps"
icon: "fas fa-cloud"
items:
- name: "Nextcloud"
logo: "assets/tools/nextcloud.png"
subtitle: "Stored in the cloud"
tag: "app"
url: "https://nextcloud.example.com"
Homepage (YAML configuration):
---
settings:
title: My Dashboard
background: https://images.unsplash.com/photo-1502790671504-542ad42d5189?auto=format&fit=crop&w=1950&q=80
services:
- name: My Apps
icon: far fa-window-restore
items:
- name: Nextcloud
icon: nextcloud.png
subtitle: Stored in the cloud
url: https://nextcloud.example.com
target: _blank
Both projects use YAML for configuration, but Homepage offers more advanced features and integrations, while Homer focuses on simplicity and lightweight design.
Flame is self-hosted startpage for your server. Easily manage your apps and bookmarks with built-in editors.
Pros of Flame
- More customizable appearance with themes and custom CSS support
- Built-in authentication system for secure access
- Supports Docker containers for easier deployment and management
Cons of Flame
- Less active development and community support
- Fewer integrations with external services and apps
- More complex setup process, especially for non-Docker environments
Code Comparison
Flame (JavaScript):
const app = express();
app.use(express.json());
app.use(express.urlencoded({ extended: true }));
app.use(cors());
Homepage (JavaScript):
const app = fastify({ logger: true });
await app.register(fastifyStatic, { root: path.join(__dirname, 'public') });
await app.register(fastifyCors);
Both projects use JavaScript and similar web frameworks (Express for Flame, Fastify for Homepage). However, Homepage's code appears more modern and efficient, utilizing async/await and the faster Fastify framework.
Flame offers more customization options and built-in security features, making it suitable for users who prioritize appearance and access control. Homepage, on the other hand, has a more active community, broader integrations, and a simpler setup process, making it a better choice for users seeking ease of use and frequent updates.
HTPC/Homelab Services Organizer - Written in PHP
Pros of Organizr
- More extensive user management and authentication features
- Built-in support for SSO (Single Sign-On) integration
- Customizable themes and layouts
Cons of Organizr
- Steeper learning curve due to more complex setup and configuration
- Requires PHP, which may not be ideal for all environments
- Less frequent updates compared to Homepage
Code Comparison
Organizr (PHP):
<?php
$organizrPages = array(
'Dashboard' => 'dashboard.php',
'Calendar' => 'calendar.php',
'Media' => 'media.php'
);
?>
Homepage (JavaScript):
const homepageServices = [
{ name: 'Dashboard', url: '/dashboard' },
{ name: 'Calendar', url: '/calendar' },
{ name: 'Media', url: '/media' }
];
Both Organizr and Homepage serve as self-hosted application dashboards, but they differ in implementation and features. Organizr offers more advanced user management and customization options, making it suitable for larger, multi-user environments. However, this comes at the cost of increased complexity and setup time.
Homepage, on the other hand, provides a simpler, more streamlined experience with easier configuration and deployment. It's built with modern web technologies and receives more frequent updates, but may lack some of the advanced features found in Organizr.
The choice between the two depends on specific needs, technical expertise, and desired level of customization.
An Application dashboard and launcher
Pros of Heimdall
- More established project with a larger user base and longer development history
- Offers user authentication and multi-user support
- Provides a wider range of customization options for individual application tiles
Cons of Heimdall
- Less frequent updates and slower development pace
- More complex setup process, especially for advanced features
- Heavier resource usage, which may impact performance on low-powered devices
Code Comparison
Heimdall (PHP):
public function index()
{
$apps = App::orderBy('order', 'asc')->get();
return view('dash', compact('apps'));
}
Homepage (JavaScript):
export default function Dashboard({ config }) {
return (
<div className="dashboard">
{config.services.map((service) => (
<ServiceTile key={service.name} {...service} />
))}
</div>
);
}
Both projects aim to provide a customizable dashboard for self-hosted services, but they differ in their implementation approaches. Heimdall uses PHP and Laravel, while Homepage is built with JavaScript and React. Homepage offers a more modern, lightweight solution with faster performance and easier customization through YAML configuration files. However, Heimdall provides more advanced features like user authentication and a wider range of tile customization options.
Customizable browser's home page to interact with your homeserver's Docker containers (e.g. Sonarr/Radarr)
Pros of Homarr
- More customizable with a drag-and-drop interface for widget placement
- Supports integration with various services like Sonarr, Radarr, and Overseerr
- Includes a built-in torrent search feature
Cons of Homarr
- Less lightweight and may require more system resources
- Configuration can be more complex due to increased customization options
- May have a steeper learning curve for new users
Code Comparison
Homarr (React):
const DashboardWrapper = ({ children }) => {
return (
<div className="dashboard-wrapper">
<Sidebar />
<main>{children}</main>
</div>
);
};
Homepage (Vue.js):
<template>
<div class="homepage">
<Header />
<main>
<slot></slot>
</main>
</div>
</template>
Both projects use modern JavaScript frameworks, with Homarr utilizing React and Homepage opting for Vue.js. The code structures reflect their respective framework choices, but both aim to create a modular dashboard layout.
Convert designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual CopilotREADME
A modern, fully static, fast, secure fully proxied, highly customizable application dashboard with integrations for over 100 services and translations into multiple languages. Easily configured via YAML files or through docker label discovery.
Homepage builds are kindly powered by DigitalOcean.
Features
With features like quick search, bookmarks, weather support, a wide range of integrations and widgets, an elegant and modern design, and a focus on performance, Homepage is your ideal start to the day and a handy companion throughout it.
- Fast - The site is statically generated at build time for instant load times.
- Secure - All API requests to backend services are proxied, keeping your API keys hidden. Constantly reviewed for security by the community.
- For Everyone - Images built for AMD64, ARM64, ARMv7, and ARMv6.
- Full i18n - Support for over 40 languages.
- Service & Web Bookmarks - Add custom links to the homepage.
- Docker Integration - Container status and stats. Automatic service discovery via labels.
- Service Integration - Over 100 service integrations, including popular starr and self-hosted apps.
- Information & Utility Widgets - Weather, time, date, search, and more.
- And much more...
Docker Integration
Homepage has built-in support for Docker, and can automatically discover and add services to the homepage based on labels. See the Docker Service Discovery page for more information.
Service Widgets
Homepage also has support for over 100 3rd party services, including all popular starr apps, and most popular self-hosted apps. Some examples include: Radarr, Sonarr, Lidarr, Bazarr, Ombi, Tautulli, Plex, Jellyfin, Emby, Transmission, qBittorrent, Deluge, Jackett, NZBGet, SABnzbd, etc. As well as service integrations, Homepage also has a number of information providers, sourcing information from a variety of external 3rd party APIs. See the Service page for more information.
Information Widgets
Homepage has built-in support for a number of information providers, including weather, time, date, search, glances and more. System and status information presented at the top of the page. See the Information Providers page for more information.
Customization
Homepage is highly customizable, with support for custom themes, custom CSS & JS, custom layouts, formatting, localization and more. See the Settings page for more information.
Getting Started
For configuration options, examples and more, please check out the homepage documentation.
Security Notice ð
Please note that when using features such as widgets, Homepage can access personal information (for example from your home automation system) and Homepage currently does not (and is not planned to) include any authentication layer itself. Thus, we recommend homepage be deployed behind a reverse proxy including authentication, SSL etc, and / or behind a VPN.
With Docker
Using docker compose:
services:
homepage:
image: ghcr.io/gethomepage/homepage:latest
container_name: homepage
environment:
PUID: 1000 # optional, your user id
PGID: 1000 # optional, your group id
ports:
- 3000:3000
volumes:
- /path/to/config:/app/config # Make sure your local config directory exists
- /var/run/docker.sock:/var/run/docker.sock:ro # optional, for docker integrations
restart: unless-stopped
or docker run:
docker run --name homepage \
-e PUID=1000 \
-e PGID=1000 \
-p 3000:3000 \
-v /path/to/config:/app/config \
-v /var/run/docker.sock:/var/run/docker.sock:ro \
--restart unless-stopped \
ghcr.io/gethomepage/homepage:latest
From Source
First, clone the repository:
git clone https://github.com/gethomepage/homepage.git
Then install dependencies and build the production bundle (I'm using pnpm here, you can use npm or yarn if you like):
pnpm install
pnpm build
If this is your first time starting, copy the src/skeleton
directory to config/
to populate initial example config files.
Finally, run the server in production mode:
pnpm start
Configuration
Please refer to the homepage documentation website for more information. Everything you need to know about configuring Homepage is there. Please read everything carefully before asking for help, as most questions are answered there or are simple YAML configuration issues.
Development
Install NPM packages, this project uses pnpm (and so should you!):
pnpm install
Start the development server:
pnpm dev
Open http://localhost:3000 to start.
This is a Next.js application, see their documentation for more information.
Documentation
The homepage documentation is available at https://gethomepage.dev/.
Homepage uses Material for MkDocs for documentation. To run the documentation locally, first install the dependencies:
pip install -r requirements.txt
Then run the development server:
mkdocs serve # or build, to build the static site
Support & Suggestions
If you have any questions, suggestions, or general issues, please start a discussion on the Discussions page.
Troubleshooting
In addition to the docs, the troubleshooting guide can help reveal many basic config or network issues. If you're having a problem, it's a good place to start.
Contributing & Contributors
Contributions are welcome! Please see the CONTRIBUTING.md file for more information.
Thanks to the over 200 contributors who have helped make this project what it is today!
Especially huge thanks to @shamoon, who has been the backbone of this community from the very start.
Top Related Projects
A highly customizable homepage (or startpage / application dashboard) with Docker and service API integrations.
A very simple static homepage for your server.
Flame is self-hosted startpage for your server. Easily manage your apps and bookmarks with built-in editors.
HTPC/Homelab Services Organizer - Written in PHP
An Application dashboard and launcher
Customizable browser's home page to interact with your homeserver's Docker containers (e.g. Sonarr/Radarr)
Convert designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual Copilot