Homepage is a elegant startpage dashboard configured by YAML files. Let's take a closer look and set it up using Docker Compose. 🐳
Are you getting lost in all of our hosted services? Community portal, website, discord, twitter, analytics... well, you get the point. I made a portal using Homepage so you can find our stuff easier.
The search for the perfect self hosted startpage dashboard just might be over. Homepage is as good as it gets!
What is Homepage?
Homepage is a modern (fully static, fast), secure (fully proxied), highly customizable application dashboard with integrations for more than 25 services and translations for over 15 languages. Easily configured via YAML files (or discovery via docker labels).
Homepage Core Features
At first glance, you may not think Homepage has tons of features due to the minimal design and look. However, it's the complete opposite.
Click for Homepage Feature List
- Fast! The entire site is statically generated at build time, so you can expect instant load times
- Secure! Every API request to backend services goes through a proxy server, so your API keys are never exposed to the frontend client.
- Images built for AMD64 (x86_64), ARM64, ARMv7 and ARMv6
- Supports all Raspberry Pi's, most SBCs & Apple Silicon
- Full i18n support with automatic language detection
- Service & Web Bookmarks
- Docker Integration
- nformation Providers
- Information & Utility Widgets
- Instant "Quick-launch" search
Install Homepage with Docker Compose
Installing Homepage dashboard is simple. Use their provided Docker Compose stack.
version: "3.3" services: homepage: image: ghcr.io/benphelps/homepage:latest container_name: homepage 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
After installing Homepage with Docker Compose, navigate to your host IP and port 3000 to see the default dashboard.
Homepage Dashboard Configuration
Homepage is easily configured via 6 different YAML files. I highly recommend using Filebrowser to make things even easier. You can save a bookmark directly to your YAML files and edit them on the fly over web interface.
Here you can see the services.yaml page for the Homepage dashboard I am using for https://saved.lol. You will most likely be focusing on 2 or 3 of these YAML files and not even look at the others.
If you'd like to use my services.yaml as an example to build from, expand the box below and copy the code.
Click to Expand
--- # For configuration options and examples, please see: # https://gethomepage.dev/en/configs/services - 🗨 Noted Community️: - Noted Website: icon: mdi-web-check href: https://noted.lol description: What's new in Self Hosted applications and Homelab technology? - Community Portal: icon: mdi-forum href: https://ask.noted.lol description: Ask, answer and vote on Self Hosted related questions. - Noted Discord: icon: mdi-chat href: https://discord.com/invite/zA9FT8qW9g description: Join thousands of other Self Hosted enthusiasts - Noted Twitter: icon: mdi-twitter href: https://twitter.com/jeremy_noted description: Follow Jeremy on Twitter - ⭐ Recommended Noted Articls: - Self Host a Ghost Blog on Your Homelab Using Docker: icon: mdi-post-outline href: https://noted.lol/self-host-ghost/ description: Hosting your own website is fun and satisfying knowing you are in complete control of your data. Not only that but you are saving money by not paying for 3rd party hosting services. - Setup your Domain using Cloudflare Tunnels and Zero Trust: icon: mdi-post href: https://noted.lol/cloudflare-tunnel-and-zero-trust/ description: Here's how you can utilize Cloudflare DNS and Zero Trust to access your self hosted website with your domain name. - How to Protect Self Hosted Login Pages using Cloudflare Zero Trust Policies: icon: mdi-post-outline href: https://noted.lol/zero-trust-access-applications/ description: Protect your Self-Hosted, SaaS and Private applications with Zero Trust policies. Only users who match your policies will have access to your configured applications. - 🛠️ Other Noted Services: - OSS RSS: icon: mdi-rss href: https://ossrss.com description: A centralized all-in-one Self Hosting and Open Source RSS feed. - Uptime Kuma: icon: mdi-arrow-up-down-bold-outline href: https://uptime.noted.lol description: Using Uptime Kuma on Pikapods to ping Noted.lol - Umami: icon: mdi-google-analytics href: https://analytics.noted.lol/share/YzqeFuD8/noted.lol description: Noted analytics with Umami (recently reset) - Plausible: icon: mdi-google-analytics href: https://stats.noted.lol/share/noted.lol?auth=hoIyj9v7cWqOUJvNWZSjv description: Noted analytics with Plausible - Contact: icon: mdi-card-account-mail href: https://noted.lol/contact-us/ description: Shoot me a message!
Sonarr, Radarr, Readarr, Prowlarr, Bazarr, Lidarr, Emby, Jellyfin, Tautulli, Plex, Ombi, Overseerr, Jellyseerr, Jackett, NZBGet, SABnzbd, ruTorrent, Transmission, qBittorrent, Portainer, Traefik, Speedtest Tracker, PiHole, AdGuard Home, Nginx Proxy Manager, Gotify, Syncthing Relay Server, Authentik, Proxmox and more.
There are several different widgets you can use with Homepage. The Homepage documentation covers all of these and more.
You can also monitor the host CPU, RAM and disk space!
You can mount more disks to monitor by simply mounting more volumes in your Docker Compose stack.
Final Notes and Thoughts
Homepage is one of the very few dashboard apps that I don't mind configuring via YAML files. It looks great both on desktop browsers and mobile devices and can even be added as a PWA on your phone.
Homepage does not include authentication. But you can add authentication using Cloudflare access apps quite easily if you want to expose this application.
If you find Homepage useful, swing by the Homepage Github page and give it a star! You can also sponsor this project.❤️