A self-hosted, Svelte-based dashboard for organizing links, tools, and service status in one place.
kodehat/portkey
A lightweight self-hosted startup page that shows a configurable collection of links, with search and small custom pages, all set up in one config file.
Open-source alternative to:Homepage
- Stars
- 185
- Forks
- 4
- Open issues
- 0
- Last commit
- 22 hours ago
What is it?
portkey is a web portal that works as a browser startup page or a personal link dashboard. You list your links in a single config.yml file, optionally group them into named sections, and the app serves them as a searchable home page with dark and light modes.
The search box supports configurable keywords and optional fuzzy matching based on Levenshtein similarity. Favicons for external links are fetched automatically and cached on disk, and portal icons can be emojis, image files, or URLs. Custom HTML pages can be added at chosen paths for smaller content such as notes.
It is written in Go and distributed as a single binary or a Docker image. Optional Prometheus metrics, a grid layout with configurable column count, and environment variable overrides for any config key are also included.
Key features
- 01Shows links as a startup page, organised into named groups.
- 02Search with configurable keywords and optional fuzzy matching.
- 03Automatically fetches and caches favicons for external links.
- 04Portal icons accept emojis, image files, or URLs.
- 05Custom HTML pages can be added at defined paths.
- 06Entire configuration lives in one YAML file, overridable by environment variables.
Use cases
- Using it as a browser start page for frequently visited internal tools and sites.
- Running a shared team dashboard of links on a home server or intranet.
- Publishing a small custom info page alongside a list of resources.
Quick start
- 1
Download the portkey file for your OS and place it in your PATH
- 2
Create a config.yml or use the example configuration from the repository
- 3
Start the application with the config path (optional if config.yml is in the working directory)
portkey --config-path=<dir_to_config_yml> - 4
Open your browser at the defined host and port, default http://localhost:3000
Things to know
- Licensed under AGPL-3.0, a strong copyleft license that applies to modified network-served versions.
- For external portals without an icon, it makes outbound HTTP requests to fetch favicons.
In collections
Topics
FAQ
- What is portkey?
- A lightweight self-hosted startup page that shows a configurable collection of links, with search and small custom pages, all set up in one config file. portkey is a web portal that works as a browser startup page or a personal link dashboard. You list your links in a single config.yml file, optionally group them into named sections, and the app serves them as a searchable home page with dark and light modes.
- Is portkey free to use? What license does it have?
- portkey is open source under the AGPL-3.0 license. Check the license terms before using it in commercial products.
- Is portkey still maintained?
- Actively maintained. The last commit to portkey was on Nov 6, 2026.
- What can I use portkey for?
- Using it as a browser start page for frequently visited internal tools and sites. Running a shared team dashboard of links on a home server or intranet. Publishing a small custom info page alongside a list of resources.
- How do I install portkey?
- Download the portkey file for your OS and place it in your PATH Create a config.yml or use the example configuration from the repository Start the application with the config path (optional if config.yml is in the working directory): portkey --config-path=<dir_to_config_yml> Open your browser at the defined host and port, default http://localhost:3000
- Where can I get portkey?
- The source code and installation instructions are on GitHub: https://github.com/kodehat/portkey
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
A self-hosted application dashboard and browser start page for organizing links to your web apps, with live stats from supported services.
A self-hosted homelab dashboard with GUI-based editing, built-in SSO authentication, RSS news, widgets, and integrations with self-hosted apps.
A self-hostable personal dashboard for homelabs with service status checks, widgets, themes, icon packs and a UI config editor.
A self-hostable read-it-later and news reader that gathers articles from anywhere into one place, with no ads or trackers.
A single-user, self-hosted bookmark manager whose bookmarks and follows can federate across the Fediverse.