Benutzer online
Gäste online 1
Mitglieder online 0

Mitglieder insgesamt: 1
Neuestes Mitglied: Loop1403
Foren-Statistiken
Besucher-Zähler
Besucher heute: 55
Besucher gestern: 19
Rekord: 485 (09.09.2026)
Besucher gesamt: 4980

Gesamt-Statistiken
Themen gesamt: 19
Beiträge gesamt: 19
Mitgliederumfragen
Hostet ihr eure Clouds selber?
ja100 %
100% [1 Vote]
Nein0 %
0% [0 Votes]
Kontaktformular
Für Hinweise, Fragen und Kritik haben wir stets ein offenes Ohr.
Einfach nachfolgendes Formular absenden und wir antworten schnellstmöglich.
CAPTCHA ImageRefresh Image

[Anleitung] Linkwarden (Selbstgehosteter Bookmark- & Archiv-Manager) via Docker Compose

Letzte Aktualisierung
Loop1403Loop1403Seiten Administrator
Veröffentlicht am
# [Anleitung] Linkwarden (Selbstgehosteter Bookmark- & Archiv-Manager) via Docker Compose

Hallo zusammen,

wer einen modernen, kollaborativen Lesezeichen-Manager sucht, der Webseiten nicht nur verlinkt, sondern auch als PDF, Screenshot oder lesbaren Text für immer lokal archiviert, sollte sich **Linkwarden** anschauen. Das Tool eignet sich perfekt, um nützliche Webseiten, Skripte oder Dokus plattformübergreifend zu sammeln und zu organisieren, ohne dass Links im Laufe der Zeit durch "Linkfäule" ungültig werden.

Hier ist das fertige Docker Compose Setup für euren eigenen Linkwarden-Server – komplett anonymisiert, sicher und für den produktiven Einsatz im Forum aufbereitet.

### ⚠️ Wichtige Vorbereitung vor dem Kopieren:
Für den reibungslosen Betrieb benötigt Linkwarden zwingend eine eindeutige Verschlüsselungskette bei NEXTAUTH_SECRET (Generiert hier am besten eine lange, zufällige Zeichenfolge). **Wichtig bei den URLs:** Die Variable NEXTAUTH_URL verlangt bei manchen Linkwarden-Versionen zwingend das Suffix /api/v1/auth am Ende, falls der Login im Browser fehlschlägt. In diesem modernen Stack ist sie so konfiguriert, dass sie direkt auf eure Hauptdomain zeigt.

---

### Der Docker Compose Stack

yaml
version: '3.8'

services:
 # 1. Das Linkwarden Web-Interface und die Archivierungs-Engine
 linkwarden:
 image: ghcr.io/linkwarden/linkwarden:latest
 restart: always
 depends_on:
 - linkwarden_db
 environment:
 # Datenbank-Verbindungsstring (Muss mit dem Passwort unten übereinstimmen)
 - DATABASE_URL=postgresql://linkwarden_user<img class='smiley' style='width:20px;height:20px;' src='../../images/smiley/grin.svg' alt='Grinsen'>EIN_SICHERES_DATENBANK_PASSWORT@linkwarden_db:5432/linkwarden_db
 
 # Externe URLs für den produktiven Domain-Betrieb über euren Reverse Proxy
 - NEXTAUTH_URL=https://deine-domain.de # <--- EURE SPÄTERE HTTPs-DOMAIN!
 - BASE_URL=https://deine-domain.de
 
 # Generiert hier einen langen, zufälligen String für die Absicherung der Sessions!
 - NEXTAUTH_SECRET=HIER_EINEN_LANGEN_ZUFÄLLIGEN_STRING_EINTRAGEN
 volumes:
 - linkwarden_data:/data # Speicherort für Screenshots und PDF-Archive
 networks:
 backend:
 lan_network:
 ipv4_address: DEINE_FREIE_CONTAINER_IP # <--- FREIE IP AUS EUREM NETZWERK EINTRAGEN!

 # 2. Die Datenbank (PostgreSQL 16)
 linkwarden_db:
 image: docker.io/library/postgres:16
 restart: always
 environment:
 POSTGRES_DB: linkwarden_db
 POSTGRES_USER: linkwarden_user
 POSTGRES_PASSWORD: DEIN_SICHERES_DATENBANK_PASSWORT # <--- ANPASSEN!
 volumes:
 - linkwarden_pg_data:/var/lib/postgresql/data # Datenbank dauerhaft sichern
 networks:
 - backend

networks:
 backend:
 driver: bridge
 
 lan_network:
 name: NAME_EURES_EXISTIERENDEN_NETZWERKS # <--- NAME EURES EXISTIERENDEN EXTERNEN NETZWERKS!
 external: true

volumes:
 linkwarden_data:
 linkwarden_pg_data:


---

### 🌐 Einrichtung im Nginx Proxy Manager (NPM)

Um Linkwarden verschlüsselt über eine Subdomain (z. B. linkwarden.deine-domain.de) aufzurufen und auch die offiziellen Browser-Erweiterungen nutzen zu können, legt ihr im NPM einen neuen **Proxy Host** an:

1. **Domain Names:** linkwarden.deine-domain.de
2. **Scheme:** http
3. **Forward Hostname / IP:** DEINE_FREIE_CONTAINER_IP *(Die oben vergebene IP des Linkwarden-Containers)*
4. **Forward Port:** 3000 *(Der interne Standard-Port von Linkwarden)*
5. **Websockets Support:** 🟩 **Häkchen setzen / Aktivieren!**
6. **SSL:** Ein neues Let's Encrypt Zertifikat anfordern und *Force SSL* aktivieren.

---

### 🛠️ Nginx-Erweiterung für große Webseiten-Snapshots (Advanced Settings)

Wenn Linkwarden große Webseiten als PDF oder Screenshot archiviert, werden teilweise größere Datenmengen über den Proxy geschoben. Um Timeouts bei komplexen Seiten zu verhindern, fügt im NPM im Reiter **Advanced** diesen Code hinzu:

nginx
# Maximale Upload-Größe für Archiv-Daten anheben
client_max_body_size 100M;

# Timeouts hochsetzen für die integrierte Screenshot-Engine
proxy_read_timeout 180s;
proxy_send_timeout 180s;
Du kannst alle Themen in diesem Forum sehen.
Du kannst nicht ein neues Thema in diesem Forum eröffnen.
Du kannst nicht auf dieses Thema antworten.
Du kannst nicht Umfragen in diesem Forum erstellen.
Du kannst nicht Anhänge in diesem Forum hochladen.
Du kannst nicht Anhänge in diesem Forum herunterladen.
Anmelden
Noch keinen Account? Klicke hier, um dich zu registrieren.
Passwort vergessen?
Shoutbox
Du musst dich anmelden, um eine Nachricht zu senden.
Loop1403
Loop1403#1
Moingsen
SERVER BEITRETEN
Echte Live-Kanäle:
Eurotruck SimulatorJoin
LS 25Join
Schwesing BahnhofJoin
MindenerwaldJoin
Hebby`s SabbeleckeJoin
Sven,s ZockerbudeJoin
Left for DeadJoin
CounterstrikeJoin
World of WarshipsJoin
BattlefieldJoin
Klönecke( wenn nicht Gespielt wird)Join
Tratschecke ( im Single Player )Join
TeamJoin
AwayJoin
BesprechungJoin