[{"data":1,"prerenderedAt":113},["ShallowReactive",2],{"seo-verification":3,"blog-heberger-homepage-en":6},{"google":4,"bing":5},"EycwPY2XMyTkVzas3n1ygeNJFGAH513qrMjfDljzsMQ","",{"id":7,"slug":8,"title":9,"excerpt":10,"readTime":11,"views":12,"isPinned":13,"publishedAt":14,"category":15,"categories":21,"featuredImage":23,"bgImage":24,"posterImage":25,"relatedSolution":26,"intro":28,"sections":29,"ctaTitle":69,"ctaBody":70,"ctaButton":71,"ctaUrl":72,"relatedPosts":73},92,"heberger-homepage","Hosting Homepage on your own VPS","Deploy Homepage, the open-source dashboard, on your VPS with Docker. Complete guide: prerequisites, reverse proxy, SSL and configuration.",6,604,false,"2026-03-20T00:00:00+00:00",{"id":16,"name":17,"slug":18,"color":19,"icon":20},7,"Self-hosting","self-hosting","bg-indigo-500\u002F10 text-indigo-400","cloud",[22],{"id":16,"name":17,"slug":18,"color":19,"icon":20},null,"\u002Fblog\u002Fcovers\u002Fbg.svg","\u002Fblog\u002Fcovers\u002Fheberger-homepage-poster.svg",{"categorySlug":18,"appSlug":27},"homepage","Homepage is a self-hosted dashboard that centralizes all your services, widgets and favorite links on a single, ultra-fast page. Deploying it on your own VPS gives you a fully customizable home page, without depending on a third-party service. Here's how to install it cleanly with Docker and HTTPS access.",[30,34,44,47,66],{"type":31,"title":32,"body":33},"h2","Why host Homepage on your VPS","Homepage (gethomepage.dev) is a static dashboard written in Next.js, designed to be the home page of your infrastructure. Unlike SaaS start-page solutions, everything stays under your control: the configuration lives in simple YAML files, the widgets query your own services (Proxmox, qBittorrent, Sonarr, Pi-hole…), and no data transits through an external cloud. Hosting it on a VPS makes it accessible everywhere, from any browser, with minimal latency since the page is served almost entirely as static content. It's also the ideal entry point to pilot a growing Docker stack: a single `services.yaml` file is enough to map dozens of containers.",{"type":35,"title":36,"items":37},"ul","The concrete benefits of a self-hosted Homepage",[38,39,40,41,42,43],"YAML configuration versionable in Git: you rebuild your dashboard identically in a few seconds.","Native widgets for over 100 services (Docker, Proxmox, Plex, Grafana, AdGuard) with real-time stat display.","Automatic detection of Docker containers via labels, with no manual URL entry.","Minimal memory footprint: less than 128 MB of RAM, ideal on a small VPS.","No telemetry or cloud dependency: your home page stays 100% private.","Full customization of the theme, wallpapers and search bar.",{"type":31,"title":45,"body":46},"Technical prerequisites","Homepage is very lightweight. A VPS with 1 vCPU and 1 GB of RAM is largely sufficient, even while running other containers alongside. Plan for around 300 MB of disk space for the image and the configuration. You'll need Docker and Docker Compose (v2) installed, a domain or subdomain pointing to the VPS's IP (e.g. `home.mydomain.com`), and a reverse proxy such as Traefik or Caddy to handle HTTPS. If you want to make use of the Docker widgets, mount the `\u002Fvar\u002Frun\u002Fdocker.sock` socket read-only.",{"type":48,"title":49,"steps":50},"steps","Deploy Homepage with Docker in 5 steps",[51,54,57,60,63],{"title":52,"body":53},"Prepare the directory tree","Connect to your VPS over SSH and create the folders: `mkdir -p ~\u002Fhomepage\u002Fconfig`. The `services.yaml`, `widgets.yaml`, `settings.yaml` and `bookmarks.yaml` files will be generated on first start in this folder.",{"title":55,"body":56},"Write the docker-compose.yml","In `~\u002Fhomepage\u002Fdocker-compose.yml`, declare the service with the `ghcr.io\u002Fgethomepage\u002Fhomepage:latest` image, mount `.\u002Fconfig:\u002Fapp\u002Fconfig` and the Docker socket `\u002Fvar\u002Frun\u002Fdocker.sock:\u002Fvar\u002Frun\u002Fdocker.sock:ro`. Add the `HOMEPAGE_ALLOWED_HOSTS=home.mydomain.com` variable to authorize your domain.",{"title":58,"body":59},"Start the container","Run `docker compose up -d` then check with `docker compose logs -f`. Homepage listens by default on port `3000`. Test locally with `curl http:\u002F\u002Flocalhost:3000`.",{"title":61,"body":62},"Connect the reverse proxy and SSL","With Caddy, a single line is enough: `home.mydomain.com { reverse_proxy localhost:3000 }`. Caddy generates and renews the Let's Encrypt certificate automatically. With Traefik, add the `traefik.http.routers.homepage.rule=Host(\\`home.mydomain.com\\`)` labels and the ACME resolver.",{"title":64,"body":65},"Customize services and widgets","Edit `config\u002Fservices.yaml` to group your applications, then `config\u002Fwidgets.yaml` for the resource bar (CPU, RAM, disk). Reload the page: Homepage rereads the configuration on the fly, without restarting the container.",{"type":67,"body":68},"tip","Enable automatic discovery by adding `homepage.group`, `homepage.name` and `homepage.href` labels directly on your other Docker containers. Homepage detects them via the mounted socket and adds them to the dashboard without touching `services.yaml`. Coupled with a `.env` file to store your widget API keys (never in the clear in the versioned YAML), you get a dashboard that updates itself with each new deployment.","Launch your dashboard in minutes","Deploy Homepage on a ServOrbit Cloud VPS with a preconfigured Docker template. NVMe SSD, Docker ready to use and generous bandwidth to serve your home page without latency.","Deploy on a Cloud VPS","\u002Fvps-cloud",[74,87,100],{"id":75,"slug":76,"title":77,"excerpt":78,"readTime":16,"views":79,"isPinned":13,"publishedAt":80,"category":81,"categories":82,"featuredImage":23,"bgImage":24,"posterImage":84,"relatedSolution":85},71,"heberger-nextcloud","Hosting Nextcloud on your own VPS","Take back control of your files: deploy Nextcloud on your VPS with Docker, database, reverse proxy and SSL.",2720,"2026-04-10T00:00:00+00:00",{"id":16,"name":17,"slug":18,"color":19,"icon":20},[83],{"id":16,"name":17,"slug":18,"color":19,"icon":20},"\u002Fblog\u002Fcovers\u002Fheberger-nextcloud-poster.svg",{"categorySlug":18,"appSlug":86},"nextcloud",{"id":88,"slug":89,"title":90,"excerpt":91,"readTime":11,"views":92,"isPinned":13,"publishedAt":93,"category":94,"categories":95,"featuredImage":23,"bgImage":24,"posterImage":97,"relatedSolution":98},72,"heberger-ghost","Hosting Ghost on your own VPS","Launch a professional blog or newsletter with Ghost on your VPS: Docker, database, paid subscriptions, reverse proxy and SSL.",2000,"2026-04-09T00:00:00+00:00",{"id":16,"name":17,"slug":18,"color":19,"icon":20},[96],{"id":16,"name":17,"slug":18,"color":19,"icon":20},"\u002Fblog\u002Fcovers\u002Fheberger-ghost-poster.svg",{"categorySlug":18,"appSlug":99},"ghost",{"id":101,"slug":102,"title":103,"excerpt":104,"readTime":16,"views":105,"isPinned":13,"publishedAt":106,"category":107,"categories":108,"featuredImage":23,"bgImage":24,"posterImage":110,"relatedSolution":111},73,"heberger-wordpress","Host WordPress on your own VPS","Host WordPress on your VPS for maximum performance and control: Docker, MariaDB, caching, reverse proxy and SSL.",501,"2026-04-08T00:00:00+00:00",{"id":16,"name":17,"slug":18,"color":19,"icon":20},[109],{"id":16,"name":17,"slug":18,"color":19,"icon":20},"\u002Fblog\u002Fcovers\u002Fheberger-wordpress-poster.svg",{"categorySlug":18,"appSlug":112},"wordpress",1785628438233]