Convert Figma logo to code with AI

gethomepage logohomepage

A highly customizable homepage (or startpage / application dashboard) with Docker and service API integrations.

18,265
1,062
18,265
0

Top Related Projects

18,267

A highly customizable homepage (or startpage / application dashboard) with Docker and service API integrations.

9,113

A very simple static homepage for your server.

5,182

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

5,845

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

  1. Clone the repository:

    git clone https://github.com/gethomepage/homepage.git
    
  2. Navigate to the project directory:

    cd homepage
    
  3. Copy the example configuration:

    cp docker-compose.yml.example docker-compose.yml
    
  4. Edit the docker-compose.yml file to customize your settings and services.

  5. Start the container:

    docker-compose up -d
    
  6. 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

18,267

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.

9,113

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.

5,182

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.

5,845

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 Figma logo designs to code with AI

Visual Copilot

Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.

Try Visual Copilot

README

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.

GitHub Workflow Status (with event)     Discord     GitHub Sponsors

DigitalOcean Referral Badge

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.