Repolode
kodehat

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. 1

    Download the portkey file for your OS and place it in your PATH

  2. 2

    Create a config.yml or use the example configuration from the repository

  3. 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. 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

#startup-page#dashboard#self-hosted#golang#bookmarks#link-directory#portal#webapplication

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