Homepage GUI

A drag-and-drop editor for your gethomepage dashboard.

  • Apps & Tools
  • Python
  • JavaScript

Homepage GUI is a visual editor for gethomepage’s services.yaml. Instead of hand-editing YAML, you arrange your dashboard by dragging sections and services around in the browser — and changes sync straight to your running Homepage instance.

Features

  • Drag-and-drop reordering of sections and services
  • Full service editing — name, icon, URL, description, and ping
  • Icon chooser searching Dashboard Icons, Material Design Icons, Font Awesome and 200k+ Iconify sources
  • Custom icon uploads (PNG/SVG) with automatic Homepage restart
  • Advanced YAML panel for widgets and custom fields
  • Safe saves — automatic backups with one-click restore
  • YAML preview before you commit, and alphabetical sort per section

Tech stack

Flask · PyYAML · gunicorn on the backend; vanilla JavaScript · SortableJS · js-yaml on the front. Ships as a Docker container.

Getting started

git clone https://github.com/hyprlab/homepage-gui.git
cd homepage-gui
cp .env.example .env        # point CONFIG and ICONS paths at your Homepage install
docker compose up -d
# open http://<host>:5005

Project status

Actively developed and released under the AGPL-3.0 license. See the GitHub repository for configuration details and the latest release.

Follow the build

I write about self-hosting, Linux, and the tools I make. New posts land on the blog.