ShortcutWall
v1.2.2 See what’s new →

Every website you need, on one wall.

ShortcutWall is a self-hosted page of website shortcuts with their logos, and a simple admin area to manage them. One Docker image, ready in a minute.

Free and open source (MIT) · amd64 & arm64 · French & English

wall.home.lan
The ShortcutWall wall: cards with the logo, name and description of each website The ShortcutWall wall in dark theme
ShortcutWall on a phone ShortcutWall on a phone, dark theme
Features

Everything a start page needs, nothing it doesn't

No database, no account to create for visitors: a JSON file, your logos, and a fast page.

Shortcut wall

Large cards with logo, name and description. One click opens the site.

Instant search & sort

Press / to search names, descriptions and domains; sort A–Z or by most recent.

Automatic logos

Finds the best icon a site offers, SVG included, and stores it in the app at 256 px. No broken images, no hotlinking.

Internal sites too

Your router, NAS or Proxmox on the local network or a VPN, self-signed certificates included.

Admin in dialogs

Add, edit and delete without leaving the list. A deletion can be undone for 15 s.

Export / import

One JSON file with every shortcut and its logos, to back up or move an install.

Light, dark, mobile

Follows the system theme, in French or English, on any screen size.

Secure by default

CSRF tokens, strict CSP, login rate limiting, SSRF guard, non-root image. No default password.

Administration

Add a site in a few seconds

Type the address, click “Fetch favicon”, done. Everything happens in a dialog, without losing your place.

  • The best icon of the site, SVG included, checked and resized
  • Or upload your own image, PNG, JPEG or WebP
  • Errors show in the dialog, your input is kept
wall.home.lan/admin
The dialog to edit a website, with its logo preview The dialog to edit a website, dark theme
Local network

Your home lab has its place

Private addresses (192.168.x.x, 10.x.x.x, Tailscale…) are allowed. Internal sites with a self-signed certificate are accepted, public sites are always verified.

  • The app's own host and cloud metadata stay blocked
  • ALLOW_PRIVATE_NETWORKS=false to lock it down
Themes

Light or dark, your call

The theme follows the system and can be switched in one click. Drag the slider to compare.

  • No flash of the wrong theme on load
  • Logos keep a light tile in dark mode, so they stay readable
wall.home.lan
Wall in dark theme
Wall in light theme
LightDark
Overview

All your shortcuts at a glance

A compact list to search, edit, export or import. Replacing everything with a backup can be undone for 15 seconds.

wall.home.lan/admin
The administration page listing every website The administration page, dark theme
Installation

Up and running in three steps

A prebuilt image for linux/amd64 and linux/arm64 (Raspberry Pi). All you need is Docker with Compose.

Create a folder with this docker-compose.yml

docker-compose.yml
services:
  shortcutwall:
    image: ghcr.io/mrddream/shortcutwall:latest
    container_name: ShortcutWall
    ports:
      - "${PORT:-3050}:${PORT:-3050}"
    # ADMIN_USER, ADMIN_PASS, SESSION_SECRET… come from .env (see .env.example):
    # the app refuses to start in production without real values.
    env_file:
      - path: .env
        required: false
    environment:
      NODE_ENV: production
      PORT: ${PORT:-3050}
      HOST: ${HOST:-0.0.0.0}
    volumes:
      - ./data:/app/data
      - ./public/uploads:/app/public/uploads
    restart: unless-stopped

Create the data folders and the .env file

The container runs as uid 1000: create the folders yourself, then pick your admin password.

bash
mkdir -p data public/uploads
printf 'ADMIN_USER=admin\nADMIN_PASS=%s\nSESSION_SECRET=%s\n' 'choose-a-strong-password' "$(openssl rand -hex 32)" > .env

Start

bash
docker compose up -d

The wall is at http://localhost:3050, the admin area at /admin. To update: docker compose pull && docker compose up -d

Configuration, security and troubleshooting are in the README.

Give your bookmarks a home

Free, open source and self-hosted. Your shortcuts stay on your server.

Star it on GitHub