Linkwarden als docker compose mit PostgreSQL-Datenbank

Linkwarden

Linkwarden ist eine Open-Source-Plattform zur Verwaltung und Archivierung von Lesezeichen, die vollständig selbst gehostet werden kann. Es ermöglicht Nutzern, Links und Webseiten zentral zu speichern, zu organisieren und offline zu archivieren, um langfristig Zugriff auf wichtige Inhalte zu gewährleisten. Die integrierten Funktionen wie Suchoptionen, Tags und Notizen bieten eine benutzerfreundliche Möglichkeit, auch große Sammlungen von Lesezeichen effizient zu verwalten.

Ich habe das Projekt mit docker compose und einer PostgreSQL-Datenbank umgesetzt. Dabei verwende ich als Reverse Proxy einen Nginx Proxy Manager.

Hier die docker-compose-Datei für Linkwarden:

services:
  linkwarden:
    image: ghcr.io/linkwarden/linkwarden:latest
    container_name: linkwarden-app
    restart: unless-stopped
#    ports:
#      - "3000:3000" # Auskommentiert da hier nicht benötigt
    environment:
      - DATABASE_URL=postgresql://${POSTGRES_USER}:${POSTGRES_PASSWORD}@linkwarden-db:5432/${POSTGRES_DB}
      - APP_ENV=production
      - NEXTAUTH_SECRET=${NEXTAUTH_SECRET}
      - NEXTAUTH_URL=https://bookmarks.mydomain.de
    volumes:
      - /path/to/linkwarden/data:/data/data
    depends_on:
      - postgres
    networks:
      - linkwarden-net
      - proxy-net
  postgres:
    image: postgres:16
    container_name: linkwarden-db
    restart: unless-stopped
    environment:
      - POSTGRES_USER=${POSTGRES_USER}
      - POSTGRES_PASSWORD=${POSTGRES_PASSWORD}
      - POSTGRES_DB=${POSTGRES_DB}
    volumes:
      - /path/to/linkwarden/db:/var/lib/postgresql/data
    networks:
      - linkwarden-net
      - proxy-net
networks:
  linkwarden-net:
    driver: bridge
  proxy-net:
    external: true

Die Variablen müssen noch mit Werten gefüllt werden, hier eine Beispiel .env-Datei:

NEXTAUTH_SECRET=<ein sehr langes Secret>

POSTGRES_USER=linkwarden

POSTGRES_DB=linkwarden

POSTGRES_PASSWORD=<Langes PostgreSQL-Passwort>

Die Volumes von Linkwarden und der PostgreSQL-Datenbank habe ich ins Dateisystem gemappt, so kann leicht bei Bedarf auf die Daten zugegriffen werden.

Für das Linkwarden-Projekt habe ich ein eigenes Netzwerk eingerichtet, außerdem muss das docker-Netzwerk "proxy-net" schon existieren und ein Nginx Proxy Manager (NPM) muss in diesem Netzwerk sein.

Nach dem Anlegen einer Domain für das Projekt (hier z.b. bookmarks.mydomain.de) muss im NPM ein Proxy-Eintrag angelegt werden, der per http auf den docker-internen host "linkwarden-app" mit Port 3000 verweist. Den Port habe ich auskommentiert zum besseren Verständnis in der docker compose-Datei belassen.

×
Stay Informed

When you subscribe to the blog, we will send you an e-mail when there are new updates on the site so you wouldn't miss them.

zsync für Proxmox - Teil 1 Installation
Matomo mit Docker und Nginx Proxy Manager installi...

Ähnliche Beiträge

By accepting you will be accessing a service provided by a third-party external to https://neticens.de/

Speichern
Cookies Benutzereinstellungen
Wir verwenden Cookies, um Ihnen das beste Erlebnis auf unserer Webseite zu ermöglichen. Wenn Sie die Verwendung von Cookies ablehnen, funktioniert diese Website möglicherweise nicht wie erwartet.
Alle akzeptieren
Alle ablehnen
Analysen
Werkzeuge zur Analyse der Daten, um die Wirksamkeit einer Webseite zu messen und zu verstehen, wie sie funktioniert.
Matomo
Akzeptieren
Ablehnen
Unknown
Unknown
Akzeptieren
Ablehnen