A fast, self-hostable bookmark manager with a proper folder tree.
2.9K
A fast, self-hostable bookmark manager with a proper nested folder tree. One container, one SQLite file, no external services — runs happily on a Raspberry Pi, a NAS, or any small VPS.

docker run -d --name linkbank \
-p 3000:3000 \
-v linkbank-data:/app/data \
-e ORIGIN=https://links.example.com \
-e PROTOCOL_HEADER=x-forwarded-proto \
-e HOST_HEADER=x-forwarded-host \
yngf73/linkbank:latest
Or with Compose — grab docker-compose.yml from the repo, set ORIGIN, and
docker compose up -d. The whole database is the single file under the
/app/data volume; back that up and you're safe. Migrations run automatically
on start, so upgrades are just docker compose pull && docker compose up -d.
On first visit you'll get a one-time setup screen to create the admin account.
Images are multi-arch: linux/amd64 and linux/arm64.
latest — the newest release1, 1.2, 1.2.3 — pin to a major / minor / exact version| Variable | Purpose |
|---|---|
ORIGIN | Required in production — the exact public URL (login/CSRF depend on it). |
PROTOCOL_HEADER / HOST_HEADER | x-forwarded-proto / x-forwarded-host behind a TLS proxy so Secure cookies work. |
DATABASE_URL | A postgres://… URL to use PostgreSQL instead of SQLite. |
REGISTRATION | open / invite / closed (default closed). |
NOTES_ENCRYPTION_KEY | 32-byte key (openssl rand -base64 32) to encrypt notes at rest. |
LINK_CHECK_INTERVAL_HOURS | Link-rot sweep interval (0 disables; default 24). |
FAVICON_ALLOW_INSECURE_TLS | 1 to fetch favicons from self-signed LAN https sites. |
TLS_KEY_PATH / TLS_CERT_PATH | Serve HTTPS directly with a self-signed cert (no proxy). |
SQLite must live on local disk / a named volume, not a CIFS/NFS mount — network file locking breaks SQLite. Postgres has no such constraint.
DOCKER.md in the repoContent type
Image
Digest
sha256:8ad27b5fc…
Size
88.8 MB
Last updated
21 days ago
docker pull yngf73/linkbank