selfhost.directory

The index of self-hostable projects — ranked, categorized and served with live updates.
Own your data and stop giving it to big tech.

dashlit logo

Self-host dashlit

v1.1.3

Multi-user start page with live service status chips

ReleaseOpen SourceMIT
docker run -d --name dashlit --restart unless-stopped -p 3000:8080 -e JWT_SECRET='replace-with-a-long-random-secret' -v dashlit-data:/data ghcr.io/codewec/dashlit:latest
Updated9 hours ago
LanguageSvelte
Setup difficultyEasy
ThemeDark mode
Stars
474
Port
8080 (HTTP listen address of the app (internal; Docker examples publish it as host port 3000))
Docker
ghcr.io/codewec/dashlit
Dashboard in the default layout with groups of linksClean layout shown with light and dark themes

What is dashlit?

DashLit puts your links, tools, and services on visual dashboards you run yourself. Each dashboard holds ordered groups of links, can be public, sign-in-only, or private, and lays out in rows, columns, or masonry, with drag-and-drop editing on desktop and touch devices. Links can carry URL availability checks whose live status appears as a small chip. Sign-in works with local passwords, OIDC (for example through Pocket ID), or both, with profile and admin pages plus non-interactive bootstrapping of the first administrator. Dashboards can be imported, exported, cloned, and migrated from legacy JSON-based releases. Deployment is one small Go binary with the Svelte UI embedded: a container image on GHCR, a Docker Compose file, a systemd installer for Linux, or a Proxmox VE LXC script, with all state (embedded SQLite database and icons) kept under a single data directory.

Should you self-host dashlit?

dashlit scores 49/100 on selfhost.directory (how scoring works) and ranks #18 of 44 in Dashboard. It has 474 GitHub stars.

It shipped 10 stable releases in the past year. The latest, v1.1.3, came out on 27 September 2026. New versions land roughly every 1 days.

Setup is easy: most people get it running in one sitting. An official Docker image is available. It is MIT-licensed and written mostly in Svelte.

Its closest alternative on selfhost.directory is Homepage by gethomepage (84/100, 33 416 stars). It scores higher overall, so compare the two before you pick. See dashlit vs Homepage by gethomepage side by side.

Features

  • Built-in icon search
  • Drag-and-drop editing
  • Flexible layouts
  • Import, export, and cloning
  • Keyboard navigation and shortcuts
  • Legacy data migration
  • Multiple dashboards with visibility levels
  • Per-user and system default dashboards
  • Service availability monitoring
  • Themes and custom palettes
  • User and admin pages

dashlit README

How to install dashlit

Install dashlit with Docker

Environment variables
JWT_SECRET
docker pull ghcr.io/codewec/dashlit:latest
docker run -d \
  --name dashlit \
  --restart unless-stopped \
  -p 3000:8080 \
  -e JWT_SECRET='replace-with-a-long-random-secret' \
  -v dashlit-data:/data \
  ghcr.io/codewec/dashlit:latest

Published for linux/amd64, linux/arm64, and linux/arm/v7.

How to configure dashlit

  • ADDR:8080Internal HTTP listen address

    Internal HTTP listen address

  • DASHLIT_PORT8080Docker Compose options (not read by DashLit itself).

    Docker Compose options (not read by DashLit itself).

  • DASHLIT_TAGlatest
  • DATABASE_PATH$DATA_DIR/bookmarks.dbCustom SQLite database path

    Custom SQLite database path

  • DATA_DIR./dataDatabase, uploaded icons, and cache directory; the image uses `/data`

    Database, uploaded icons, and cache directory; the image uses `/data`

  • DEV_MODEfalseEnable development diagnostics

    Enable development diagnostics

  • DISABLE_OIDC_REGISTRATIONfalsePrevent OIDC from creating new users

    Prevent OIDC from creating new users

  • DISABLE_OIDC_USER_MERGEfalsePrevent OIDC identities from linking to existing users

    Prevent OIDC identities from linking to existing users

  • DISABLE_PASSWORD_LOGINfalseDisable password login once OIDC is configured

    Disable password login once OIDC is configured

  • DISABLE_PASSWORD_REGISTRATIONfalseDisable password registration

    Disable password registration

  • INITIAL_ADMIN_PASSWORDEmptyPassword for one-time first administrator creation

    Password for one-time first administrator creation

  • INITIAL_ADMIN_USERNAMEEmptyUsername for one-time first administrator creation

    Username for one-time first administrator creation

  • JWT_SECRETDevelopment valueSigning secret; always replace in production

    Signing secret; always replace in production

  • OIDC_BUTTON_TITLESign in with OIDCOIDC button label

    OIDC button label

  • OIDC_CLIENT_IDEmptyOIDC client ID

    OIDC client ID

  • OIDC_CLIENT_SECRETEmptyOIDC client secret

    OIDC client secret

  • OIDC_INSECURE_SKIP_TLS_VERIFYfalseDisable OIDC TLS verification for local testing only

    Disable OIDC TLS verification for local testing only

  • OIDC_ISSUEREmptyOIDC issuer URL; leave empty to disable OIDC

    OIDC issuer URL; leave empty to disable OIDC

  • OIDC_REDIRECT_URLLocal callbackPublic callback URL

    Public callback URL

  • UPDATE_CHECK_ENABLEDtrueCheck GitHub Releases for a newer stable version

    Check GitHub Releases for a newer stable version

dashlit releases & version history

More in Uptime Monitoring

Rate this project

Click to rate — no account needed.

0 comments

Posting as guest
Loading comments…