Skip to content

maxhollmann/envlinks

Repository files navigation

envlinks

Docker Image Version (latest semver) Docker Image Size (latest semver) GitHub CI

A minimalist link dashboard. Configured solely using environment variables which makes it a breeze to set up in Kubernetes & co for different environments.

Demo

Usage

Not much to it: Type to filter the links, press enter to visit the first one, or tab through to another one. Escape clears the filter.

Configuration

Page title

The page title is set using the LINKS_TITLE environment variable.

Open links in new tab

Set LINKS_NEW_TAB=true (or 1) to open all links in a new browser tab instead of the current tab.

Custom CSS

Set LINKS_CSS to inject arbitrary CSS into the page. Useful for tweaking font size, colors, spacing, etc. without rebuilding the bundle. Example:

LINKS_CSS=":root { font-size: 18px; }"

Links

Links have a name, URL, icon (optional), and sort index (optional). A link to this repo could be configured in various ways:

  1. LINK_1_Github_Repo = "https://github.com/maxhollmann/envlinks icon:github"
  2. LINK_1_REPO = "https://github.com/maxhollmann/envlinks icon:github name:Github Repo"
    name: should be specified last, since it matches to the end of the string.
  3. LINK_REPO_NAME = "Github Repo"
    LINK_REPO_URL = "https://github.com/maxhollmann/envlinks"
    LINK_REPO_ICON = "github"
    LINK_REPO_INDEX = "1"

The icons used are the Material Design Icons.

Docker

The Docker image is available on Docker Hub as maxhollmann/envlinks.

It's recommended to use the v0.x tags instead of latest to avoid breaking changes. The current version is v0.6.

Example docker-compose.yml

version: "3.1"

services:
  envlinks:
    image: maxhollmann/envlinks:v0.6
    ports:
      - 80:80
    environment:
      LINKS_TITLE: "Test links"
      LINK_0_GOOGLE: https://google.com icon:magnify
      LINK_1_WIKIPEDIA: https://wikipedia.org icon:book-open-blank-variant
      LINK_2_envlinks_Github: https://github.com/maxhollmann/envlinks icon:github

jsonnet helpers

If you're using jsonnet to generate your Kubernetes manifests, check out the helpers in envlinks-jsonnet.

Development

Install the dependencies:

mise install
pnpm install

then start Rollup:

pnpm dev

Navigate to localhost:5000. You should see the app running with the links provided by .env.

pnpm is provided via Corepack and pinned through packageManager in package.json. jq (used by the runtime config generator) is installed via mise.

About

A minimalist link dashboard showing links from environment variables

Resources

License

Stars

Watchers

Forks

Contributors