Monitor your infrastructure.

Homepage

Self-hosted service dashboard — centralize your apps, widgets and bookmarks on one page, no database, under 128 MB RAM.

512 MB RAM 1 vCPU Port 3000 In validation

In validation

Automatic installation for this solution is ready and currently going through our tests on a real server. Ordering will open as soon as validation is complete.

Tech stack

DockerNext.js
Minimum RAM512 MB
Minimum CPU1 vCPU
Default port3000
Compatible OSChoice of Linux distributions

Homepage (~22 k GitHub stars, Apache 2.0, Next.js) is a self-hosted dashboard that centralizes every service, bookmark and widget on a single, beautifully organized page. Its entire configuration lives in YAML files — services, bookmarks, widgets and settings — giving you a GitOps-friendly setup you can rebuild identically from source in seconds.

Deployed on a ServOrbit VPS, Homepage runs in a single Docker container using under 128 MB of RAM with no database required. Mount the Docker socket read-only and Homepage discovers your running containers automatically via their labels, updating the dashboard without any manual edits. Over 100 widget integrations — CPU/RAM stats, Proxmox, Plex, Grafana, Pi-hole, Sonarr, Radarr and more — display live metrics directly on the page.

All data stays on your machine. No external accounts, no analytics, no third-party calls for the core service. The static Next.js frontend loads fast on any connection; behind a reverse proxy with HTTPS it becomes your private, always-available home for everything running in your infrastructure stack.

Key features

YAML-driven config: services, bookmarks, widgets and layout all live in versioned text files you can rebuild from Git.
Auto-discovery: mount the Docker socket and Homepage picks up containers from their labels — no manual URL entry.
100+ widget integrations: display live stats for Proxmox, Grafana, Sonarr, Pi-hole, Plex, qBittorrent and more.
Zero database: a single Next.js container under 128 MB RAM — no Postgres, no Redis, no migrations.
No telemetry: nothing phoning home — your dashboard stays fully private.
Full theme control: light/dark mode, custom wallpapers, icon packs and search bar providers via settings.yaml.
Docker Compose: one command to start, one named volume for config — restart without losing layout or credentials.
Health status icons: show service up/down state next to each bookmark using simple health-check rules.

When to use this solution?

1

Centralize a self-hosted stack

Once you have a dozen containers running — Nextcloud, Jellyfin, Gitea, Vaultwarden — a single homepage beats typing IP addresses. Map them all in services.yaml with their URLs and widget types; auto-discovery handles anything with Docker labels. Every service, one tab.

2

HomeLab cockpit with live metrics

Homepage's widget library pulls live data from local services without any cloud intermediary. See Proxmox CPU load, Sonarr queue length, Pi-hole block rate and disk usage side by side on one page. Configure once; updates on every reload.

3

Shared bookmark page for a team VPS

Put a team's shared tools — internal docs, monitoring, CI, code review — on a private Homepage instance. Members open one URL instead of searching Slack for 'that Grafana link'. Group by team, pin critical services and keep bookmarks.yaml in the repo.

Deploy Homepage on your VPS

Guide optimized for ServOrbit Cloud VPS.

01

Order a ServOrbit VPS

Homepage runs on virtually any VPS. A 512 MB RAM plan is sufficient for Homepage alone; plan for the services running alongside it. Ubuntu 24.04 with Docker is the recommended base image.

02

Deploy from the Marketplace

Open your ServOrbit dashboard → Marketplace → Monitoring → Homepage → Deploy. The provisioner pulls ghcr.io/gethomepage/homepage:latest, creates a named volume for config files and starts the container on port 3000 with HOMEPAGE_ALLOWED_HOSTS set. Allow around 30 seconds.

03

Access over SSH tunnel

Before adding a domain, access the dashboard via: ssh -L 3000:127.0.0.1:3000 root@<ip> then open http://localhost:3000. You will see a default page — this confirms the container is running correctly.

04

Add your services

Edit /opt/stacks/homepage/config/services.yaml on the VPS. Group your services by category and provide the URL, icon slug and optional widget type for each. Reload the browser — no container restart needed.

05

Put it behind HTTPS

Point a subdomain (e.g. home.yourdomain.com) to the VPS and set up a reverse proxy. With Caddy: home.yourdomain.com { reverse_proxy localhost:3000 }. Update HOMEPAGE_ALLOWED_HOSTS to match the domain and restart the container. Your dashboard is now accessible anywhere over HTTPS.

Frequently asked questions

No. Homepage has no built-in authentication. It is designed for loopback or VPN access. For a public URL, put it behind a reverse proxy that adds HTTP Basic Auth, or use Cloudflare Access in front.

Monitor your infrastructure.

Homepage isn't orderable yet.

Automatic installation for this solution is ready and currently going through our tests on a real server. Ordering will open as soon as validation is complete.

Need help?

Browse our help center and FAQ, or reach our team — callback, WhatsApp or email. Support in French, English and Arabic.

Message us on WhatsAppopens in a new tab