linkding: Lesezeichen selbst hosten
Alle Lesezeichen an einem Ort, geräteübergreifend und ohne Browser-Zwang: linkding als schlanker Bookmark-Manager hinter Traefik – mit Tags und API.
Inhaltsverzeichnis
Lesezeichen im Browser sind an ein Gerät gebunden, chaotisch organisiert und weg, sobald das Profil kaputtgeht. linkding sammelt deine Links zentral auf dem eigenen Server: über den Browser, per Extension, per API – durchsuchbar, verschlagwortet und geräteübergreifend.
Was bauen wir?
Einen schlanken, selbst gehosteten Bookmark-Manager mit linkding (v1.46.2) hinter Traefik. Am Ende speicherst du Links mit einem Klick, versiehst sie mit Tags, findest sie per Volltextsuche wieder – und linkding holt Titel und Beschreibung automatisch von der verlinkten Seite. linkding ist bewusst minimalistisch und extrem genügsam (SQLite, kaum RAM).
Voraussetzungen
- Ein Server mit laufendem Traefik und Docker Compose
- Eine Subdomain, die auf den Server zeigt – im Folgenden
DEINE_DOMAIN
VPS 1000 G12.5
4 vCore · 8 GB RAM · 128 GB SSD
ab 14,50 €/Monat
linkding ist winzig – selbst der kleinste VPS langweilt sich damit.
💶 5 € Gutschein für netcup-Neukunden: (nicht für Domains und VPS Lite)
Schritt für Schritt
Schritt 1: Projekt und Compose-Datei
linkding speichert alles (Datenbank, Einstellungen) in einem data-Ordner. Lege das Projekt an:
mkdir -p /opt/linkding/data && cd /opt/linkdingDie compose.yaml – ersetze DEINE_DOMAIN. Das Admin-Konto erzeugt linkding beim ersten Start aus den Umgebungsvariablen:
services:
linkding:
image: sissbruecker/linkding:1.46.2
restart: unless-stopped
volumes:
- ./data:/etc/linkding/data
environment:
LD_SUPERUSER_NAME: koch
LD_SUPERUSER_PASSWORD: DEIN_STARKES_PASSWORT
LD_CSRF_TRUSTED_ORIGINS: https://DEINE_DOMAIN
networks: [proxy]
labels:
- "traefik.enable=true"
- "traefik.http.routers.linkding.rule=Host(`DEINE_DOMAIN`)"
- "traefik.http.routers.linkding.entrypoints=websecure"
- "traefik.http.routers.linkding.tls.certresolver=le"
- "traefik.http.services.linkding.loadbalancer.server.port=9090"
networks:
proxy:
external: trueLD_CSRF_TRUSTED_ORIGINS nicht vergessen
LD_CSRF_TRUSTED_ORIGINS mit deiner vollständigen HTTPS-Domain – sonst schlägt das Anmeldeformular mit einem CSRF-Fehler fehl. Die Login-Seite lädt zwar, aber das Absenden wird abgelehnt.Schritt 2: Starten und anmelden
docker compose up -dDas Image bringt einen Healthcheck mit; Traefik leitet erst weiter, wenn linkding healthy ist (etwa 30 Sekunden). Öffne dann https://DEINE_DOMAIN/:

Melde dich mit dem in der Compose-Datei gesetzten Konto an.
Schritt 3: Das erste Lesezeichen speichern
Klicke oben auf Add bookmark und füge eine URL ein. Der Clou: linkding ruft die Seite auf und füllt Titel und Beschreibung automatisch aus – du musst nur noch Tags vergeben (durch Leerzeichen getrennt, ohne #):

Optional kannst du ein Lesezeichen als ungelesen markieren („Mark as unread“) – praktisch als Leseliste für später.
Schritt 4: Sammlung durchsuchen und filtern
Die Übersicht zeigt deine Lesezeichen chronologisch, rechts eine anklickbare Tag-Wolke. Über die Suche findest du Links nach Wörtern oder #tags:

Ein Klick auf ein Tag filtert sofort; mehrere Tags kombinieren die Filter. So bleibt auch eine große Sammlung übersichtlich – ganz ohne Ordnerhierarchie.
Schritt 5: Schnell speichern aus dem Browser
Für den Alltag willst du nicht jedes Mal die Weboberfläche öffnen. linkding bietet zwei bequeme Wege:
- Browser-Extension: Es gibt eine offizielle linkding-Erweiterung für Firefox und Chrome. In deren Einstellungen trägst du
https://DEINE_DOMAINund einen API-Token ein (den findest du in linkding unter Settings → Integrations → REST API). Danach speicherst du die aktuelle Seite per Klick. - Bookmarklet: Alternativ bietet linkding unter Settings ein Bookmarklet an – ein Lesezeichen in der Browser-Leiste, das die aktuelle Seite direkt an linkding schickt. Funktioniert ohne Extension, auch auf dem Handy.
Bestehende Lesezeichen importieren
Wenn es nicht funktioniert
Login scheitert mit CSRF-Fehler. LD_CSRF_TRUSTED_ORIGINS: https://DEINE_DOMAIN fehlt oder ist falsch (muss mit https:// und ohne Pfad angegeben sein). Ergänzen und docker compose up -d (siehe Warnung in Schritt 1).
Die Seite kommt nicht (Traefik-404), obwohl der Container läuft. Der Healthcheck ist noch nicht healthy – Traefik leitet dann bewusst nicht. Rund 30 Sekunden nach dem Start abwarten; Status mit docker inspect -f '{{.State.Health.Status}}' linkding-linkding-1 prüfen.
Titel/Beschreibung werden nicht automatisch geholt. Die Zielseite blockiert automatisierte Zugriffe oder antwortet zu langsam. Du kannst Titel und Beschreibung dann einfach von Hand eintragen – die Felder stehen im selben Formular.
Das Admin-Konto wurde nicht angelegt. LD_SUPERUSER_NAME/LD_SUPERUSER_PASSWORD greifen nur beim ersten Start mit leerer Datenbank. Existiert die data-Datenbank schon, ändert eine spätere Anpassung nichts. Konto nachträglich anlegen: docker compose exec linkding python manage.py createsuperuser.
Die Extension verbindet sich nicht. Fast immer der API-Token oder die URL. Token unter Settings → Integrations neu erzeugen und exakt https://DEINE_DOMAIN als Server eintragen.
Wartung & Backups
- Updates. Setze den Image-Tag (
sissbruecker/linkding:1.46.2) gelegentlich auf die aktuelle Version unddocker compose up -d; die Datenbank migriert beim Start automatisch. Der Rest läuft über deinen normalen Update-Prozess. - Backup ist winzig. Der gesamte Zustand liegt im
data-Ordner (SQLite-Datenbank). Ihn ins Restic-Backup aufnehmen – dann sind alle Lesezeichen, Tags und Einstellungen gesichert. Zusätzlich lohnt gelegentlich ein HTML-Export (Settings → Export) als browser-lesbares, dienstunabhängiges Backup. - Aufwand geht gegen null. linkding ist ein „einrichten und vergessen"-Dienst. Die einzige wiederkehrende Aktivität ist das Speichern neuer Links – und das erledigst du künftig per Extension oder Bookmarklet in einer Sekunde.
Feedback per E-Mail: feedback@serverkueche.de
Das könnte dir auch schmecken

WordPress mit Docker & Traefik sauber betreiben
WordPress mit Docker und MariaDB hinter Traefik aufsetzen – mit HTTPS, isolierter Datenbank und ehrlicher …

Navidrome: die eigene Musik streamen wie mit Spotify
Deine Musiksammlung von überall streamen – ohne Abo und Tracking: Navidrome hinter Traefik, mit App-Anbindung über den …

Stirling-PDF: der PDF-Werkzeugkasten auf dem eigenen Server
PDFs zusammenführen, komprimieren, umwandeln, per OCR durchsuchbar machen – lokal statt bei Online-Diensten: …