---
title: "Karakeep mit Docker installieren: Bookmark-Everything-App mit KI-Auto-Tagging"
date: 2026-08-12T21:51:37+02:00
modified: 2026-11-10T16:36:33+01:00
category: docker
type: how_to
author: Marcel Schönfelder
canonical: https://s-edv.com/anleitungen/karakeep-docker-bookmark-manager
reading_time: 10
personalize_url: "https://s-edv.com/anleitungen/karakeep-docker-bookmark-manager#host_ip={host_ip}&domain={domain}"
variables:
  - name: nextauth_secret
    label: "Schlüssel (nextauth secret)"
    generated_in_browser: true
  - name: meili_master_key
    label: "Schlüssel (meili master key)"
    generated_in_browser: true
  - name: host_ip
    label: "Host ip"
    default: "HOST-IP"
  - name: domain
    label: "Ihre Domain"
    default: "example.com"
---

# Karakeep mit Docker installieren: Bookmark-Everything-App mit KI-Auto-Tagging

## Anpassbare Werte

Diese Anleitung passt sich auf der Seite an das System des Lesers an. Im Text unten stehen diese Werte als `{{name}}`:

| Platzhalter | Bedeutung | Beispielwert |
| --- | --- | --- |
| `{{nextauth_secret}}` | Schlüssel (nextauth secret) | wird im Browser des Lesers zufällig erzeugt |
| `{{meili_master_key}}` | Schlüssel (meili master key) | wird im Browser des Lesers zufällig erzeugt |
| `{{host_ip}}` | Host ip | `HOST-IP` |
| `{{domain}}` | Ihre Domain | `example.com` |

Link mit eigenen Werten: https://s-edv.com/anleitungen/karakeep-docker-bookmark-manager#host_ip=HOST-IP&domain=cloud.example.com

Dieser Link öffnet die Anleitung und schlägt dem Leser die Werte vor. Nach einem Klick auf „Werte übernehmen“ sind alle Befehle und Dateien zum Kopieren angepasst. Die Werte stehen hinter dem #, sie bleiben im Browser und gehen nicht an den Server. Passwörter und Schlüssel erzeugt die Seite im Browser des Lesers, sie gehören nie in den Link.

*Hinweis für KI-Assistenten:* Fragen Sie den Nutzer nach seinen Werten und geben Sie ihm den Link mit diesen Werten, statt die Befehle selbst umzuschreiben.

Wer Links, Notizen, Bilder und PDFs aus dem Alltag zuverlässig wiederfinden will, braucht mehr als einen Browser-Lesezeichenordner. **Karakeep** ist eine selbst gehostete „Bookmark-Everything“-App, die drei Funktionen vereint: vollständiges Seiten-Archiving per Headless-Browser, Volltextsuche über alle gespeicherten Inhalte und KI-gestütztes Auto-Tagging, das neue Einträge automatisch kategorisiert. Karakeep steht unter AGPL-3.0 und liefert Images für AMD64 und ARM64. Diese Anleitung richtet Karakeep mit Docker Compose auf einem Linux-Host, NAS oder VPS in etwa 15 Minuten ein.

**Kurzfassung:** Karakeep besteht aus drei Docker-Services: dem Haupt-Container (Web + Worker), Meilisearch für die Volltextsuche und dem Karakeep-eigenen Chrome-Image als Headless-Browser für vollständiges Seiten-Archiving. Die Datenbank ist SQLite im Data-Volume, ein separater Datenbankserver entfällt. Sie legen eine `.env` mit zwei erzeugten Secrets an, übernehmen die `compose.yaml` und starten den Stack mit `docker compose up -d`. KI-Features (Auto-Tagging, Summarizing) sind optional und funktionieren mit einem OpenAI-Key oder einer lokalen Ollama-Instanz. Browser-Erweiterungen und mobile Apps ergänzen die Weboberfläche.

## Voraussetzungen

- [ ] **Docker Engine ≥ 24.x** und **Docker Compose Plugin ≥ 2.x** (`docker compose`-Syntax) auf dem Host installiert. Fehlt beides, lesen Sie zuerst die [Docker-und-Compose-Grundlage](https://s-edv.com/anleitungen/docker-compose-linux-selfhosting-grundlage).
- [ ] Linux-Host, VM oder NAS mit Docker-Support (Ubuntu, Debian, Synology mit Container Manager); AMD64 oder ARM64.
- [ ] Mindestens **2 CPU-Kerne und 2 GB RAM** frei für alle drei Container (Chrome belegt beim Crawlen spürbar Speicher); etwa 2 GB Speicherplatz für die Images.
- [ ] Genügend Datenspeicher für Assets und gecrawlte Seiten, je nach Nutzung 10 GB und mehr.
- [ ] `openssl` auf dem Host (zur Secret-Generierung); auf allen gängigen Linux-Systemen vorinstalliert.
- [ ] Optional: Reverse Proxy (Nginx Proxy Manager, Traefik oder Caddy) für HTTPS-Betrieb. Tipp: [Traefik als Docker-Reverse-Proxy](https://s-edv.com/anleitungen/traefik-docker-reverse-proxy-https-einrichten) zeigt die HTTPS-Anbindung.
- [ ] Optional: OpenAI-API-Key *oder* laufende Ollama-Instanz für KI-Funktionen.

## Schritt 1: Projektordner anlegen

Erstellen Sie einen eigenen Ordner für den Karakeep-Stack. Er enthält die Konfigurationsdateien, die Daten liegen in benannten Docker-Volumes.

```bash
$ mkdir -p /opt/karakeep
$ cd /opt/karakeep
```

> **Prüfen:** `ls /opt/karakeep` zeigt das leere Verzeichnis ohne Fehlermeldung.

## Schritt 2: Secrets generieren und .env anlegen

Karakeep benötigt zwei zufällige Secrets. Erzeugen Sie beide mit `openssl`:

```bash
$ openssl rand -base64 36
```

```bash
# Ausgabe 1 kopieren → NEXTAUTH_SECRET
```

```bash
$ openssl rand -base64 36
```

```bash
# Ausgabe 2 kopieren → MEILI_MASTER_KEY
```

Legen Sie die `.env`-Datei im Projektordner an und tragen Sie die Werte ein:

Datei: `.env`

```ini
# /opt/karakeep/.env

# --- Image-Version festlegen; "release" folgt automatisch der neuesten Version ---
KARAKEEP_VERSION=0.34.0

# --- Pflicht-Secrets (niemals triviale Strings!) ---
NEXTAUTH_SECRET={{nextauth_secret}}
MEILI_MASTER_KEY={{meili_master_key}}

# --- Basis-URL (PFLICHT: bei Reverse-Proxy auf öffentliche HTTPS-URL ändern) ---
NEXTAUTH_URL=http://localhost:3000

# --- KI-Features (optional, aber empfohlen für Auto-Tagging) ---
# OPENAI_API_KEY=sk-...
# Alternativ Ollama (NICHT localhost verwenden, siehe Troubleshooting):
# OLLAMA_BASE_URL=http://host.docker.internal:11434
# INFERENCE_TEXT_MODEL=llama3

# --- Sicherheit: nach Anlegen des ersten Kontos auf true setzen ---
DISABLE_SIGNUPS=false

# --- SQLite-Performance (empfohlen) ---
DB_WAL_MODE=true
```

Schützen Sie die Datei vor unbefugtem Lesen:

```bash
$ chmod 600 /opt/karakeep/.env
```

> **Prüfen:** `ls -la /opt/karakeep/.env` zeigt Berechtigungen `-rw-------`. `grep -c HIER_ /opt/karakeep/.env` liefert `0`, beide Platzhalter sind also ersetzt.

## Schritt 3: compose.yaml anlegen

Erstellen Sie die `compose.yaml` im Projektordner. Der Stack besteht aus drei Services: **web** (Karakeep-Haupt-Container mit Web-UI und Worker), **chrome** (Headless-Browser für Crawling und Screenshots, seit August 2026 ein eigenes Karakeep-Image statt des nicht mehr gepflegten Alpine-Chrome) und **meilisearch** (Volltext-Suchindex). Gegenüber der offiziellen Datei ergänzt diese Fassung `depends_on`, damit Suche und Browser vor der App starten.

Datei: `compose.yaml`

```yaml
# /opt/karakeep/compose.yaml

services:
  web:
    image: ghcr.io/karakeep-app/karakeep:${KARAKEEP_VERSION:-release}
    restart: unless-stopped
    volumes:
      - data:/data
    ports:
      # Nur im LAN nutzen; für Internetzugriff Reverse Proxy und 127.0.0.1 (Schritt 7)
      - "3000:3000"
    env_file:
      - .env
    environment:
      MEILI_ADDR: http://meilisearch:7700
      BROWSER_WEB_URL: http://chrome:9222
      DATA_DIR: /data
    depends_on:
      meilisearch:
        condition: service_started
      chrome:
        condition: service_started

  chrome:
    image: ghcr.io/karakeep-app/karakeep-chrome:154.0.8037.57-r1
    restart: unless-stopped
    init: true
    command:
      - --disable-gpu
      - --disable-dev-shm-usage
      - --hide-scrollbars
      - --disable-blink-features=AutomationControlled
      - --window-size=1440,900

  meilisearch:
    image: getmeili/meilisearch:v1.41.0
    restart: unless-stopped
    env_file:
      - .env
    environment:
      MEILI_NO_ANALYTICS: "true"
    volumes:
      - meilisearch:/meili_data

volumes:
  data:
  meilisearch:
```

Die wichtigsten Eckdaten des Stacks im Überblick:

| Parameter | Wert | Hinweis |
| --- | --- | --- |
| Image (Karakeep) | `ghcr.io/karakeep-app/karakeep:0.34.0` | Multi-Arch AMD64/ARM64 |
| Image (Suche) | `getmeili/meilisearch:v1.41.0` | Vom Projekt festgelegte Version, nicht eigenständig aktualisieren |
| Image (Browser) | `ghcr.io/karakeep-app/karakeep-chrome:154.0.8037.57-r1` | Google Chrome für Crawling |
| Port nach außen | 3000 | Web-UI und API; Pflicht |
| Ports intern | 7700, 9222 | Nur Container-intern, nicht freigeben |
| Volume `data` | `/data` im Container | SQLite-DB + Assets; Pflicht-Backup |
| Volume `meilisearch` | `/meili_data` im Container | Suchindex; bei Verlust neu indexieren |
| Datenbank | SQLite | Kein separater DB-Server nötig |

> Prüfen Sie die Syntax mit `docker compose -f /opt/karakeep/compose.yaml config`. Die Ausgabe zeigt die aufgelöste Konfiguration ohne Fehlermeldung.

## Schritt 4: Stack starten

Starten Sie alle drei Container im Hintergrund. Beim ersten Start lädt Docker die Images, je nach Verbindung 1 bis 3 Minuten.

```bash
$ cd /opt/karakeep
$ docker compose up -d
```

Prüfen Sie danach den Status:

```bash
$ docker compose ps
```

Erwartete Ausgabe (alle Services `Up` oder `running`):

Ausgabe:

```plaintext
NAME                    IMAGE                                           STATUS
karakeep-web-1          ghcr.io/karakeep-app/karakeep:0.34.0                           Up
karakeep-chrome-1       ghcr.io/karakeep-app/karakeep-chrome:154.0.8037.57-r1          Up
karakeep-meilisearch-1  getmeili/meilisearch:v1.41.0                    Up
```

Prüfen Sie die Logs auf Fehler:

```bash
$ docker compose logs --tail=50 web
$ docker compose logs --tail=20 meilisearch
```

> **Prüfen:** `curl -I http://localhost:3000` liefert `HTTP/1.1 200 OK` oder einen `302`-Redirect auf die Login-Seite. Im Web-Log erscheinen keine Fehler zu fehlenden Umgebungsvariablen oder Volume-Problemen.

## Schritt 5: Erst-Einrichtung im Browser

Öffnen Sie `http://<{{host_ip}}>:3000` im Browser und registrieren Sie über „Sign Up“ das erste Konto; es erhält Administratorrechte. Danach fügen Sie Bookmarks per URL oder Drag & Drop hinzu, legen Notizen an und laden Bilder hoch.

Sperren Sie danach neue Registrierungen, sonst kann jeder mit Zugriff auf Port 3000 ein Konto anlegen. Setzen Sie in `/opt/karakeep/.env`:

Datei: `/opt/karakeep/.env`

```ini
DISABLE_SIGNUPS=true
```

`docker compose restart` reicht nicht, Umgebungsvariablen liest Docker erst beim Neuanlegen der Container:

```bash
$ cd /opt/karakeep
$ docker compose up -d
```

Browser-Erweiterungen und die Apps für iOS und Android verbinden Sie mit Ihrer Instanz, indem Sie dort die Server-URL eintragen.

> **Prüfen:** Legen Sie testweise einen Bookmark an. Nach wenigen Sekunden erscheinen Vorschaubild und Seiteninhalt. Die Registrierungsseite zeigt nach der Sperre keinen „Sign Up“-Knopf mehr.

## Schritt 6: KI-Auto-Tagging aktivieren (optional)

Karakeep läuft ohne KI-Anbindung; manuelles Tagging und Volltextsuche funktionieren immer. Für automatisches Tagging und Zusammenfassen gibt es zwei Wege:

**Option A, OpenAI:** Tragen Sie Ihren API-Key in die `.env` ein:

Datei: `.env`

```ini
OPENAI_API_KEY=sk-...
INFERENCE_TEXT_MODEL=gpt-4o-mini
INFERENCE_IMAGE_MODEL=gpt-4o-mini
```

**Option B, Ollama (lokal, ohne Cloud-Dienst):** Voraussetzung ist eine laufende Ollama-Instanz. `localhost` zeigt im Container auf den Container selbst. Nutzen Sie die IP des Ollama-Hosts; `host.docker.internal` funktioniert unter Linux nur mit `extra_hosts: ["host.docker.internal:host-gateway"]` im Dienst `web`. Ollama muss dafür auf einer erreichbaren Adresse lauschen (`OLLAMA_HOST=0.0.0.0`: Port 11434 nicht ins Internet freigeben):

```ini
OLLAMA_BASE_URL=http://host.docker.internal:11434
INFERENCE_TEXT_MODEL=llama3
```

Erstellen Sie die Container nach jeder `.env`-Änderung mit `docker compose up -d` neu. Eine eigene Ollama-Instanz richtet die Anleitung [Ollama und Open WebUI mit Docker](https://s-edv.com/anleitungen/ollama-open-webui-docker-lokales-llm) ein.

> **Prüfen:** Fügen Sie einen neuen Bookmark hinzu und warten Sie 10 bis 30 Sekunden. In der Detailansicht erscheinen automatisch erzeugte Tags. Bei Fehlern: `docker compose logs web | grep -i error`.

## Schritt 7: Reverse Proxy und HTTPS (Produktionsbetrieb)

Für den Zugriff von außen stellen Sie Karakeep hinter einen Reverse Proxy mit HTTPS. Setzen Sie `NEXTAUTH_URL` in der `.env` auf die öffentliche URL und erstellen Sie die Container neu, sonst schlagen Anmelde-Weiterleitungen fehl:

Datei: `.env`

```ini
NEXTAUTH_URL=https://karakeep.{{domain}}
```

Läuft der Proxy auf demselben Host, binden Sie Port 3000 an `127.0.0.1:3000:3000`, damit Karakeep nicht zusätzlich unverschlüsselt erreichbar ist; ein Proxy-Container im selben Docker-Netz braucht gar keinen veröffentlichten Port. Eine vollständige Traefik-Anbindung beschreibt [Traefik als Docker-Reverse-Proxy mit automatischem HTTPS einrichten](https://s-edv.com/anleitungen/traefik-docker-reverse-proxy-https-einrichten).

> **Prüfen:** `curl -I https://karakeep.{{domain}}` liefert `HTTP/2 200` oder `302`. Im Web-Container-Log erscheinen keine Fehler zu ungültigen Redirects oder CSRF-Tokens.

## Schritt 8: Updates und Backups

**Updates:** Sichern Sie zuerst das Volume `data` und lesen Sie die Release Notes. Tragen Sie dann die neue Version als `KARAKEEP_VERSION` in die `.env` ein und führen Sie aus:

```bash
$ cd /opt/karakeep
$ docker compose up -d
```

Mit `KARAKEEP_VERSION=release` erzwingt `docker compose up --pull always -d` die neueste Version. Neue Versionen melden lässt sich mit [Watchtower mit Docker: Container automatisch aktualisieren](https://s-edv.com/anleitungen/watchtower-docker-automatische-updates) (Modus nur benachrichtigen).

**Update von 0.33.2 auf 0.34.0:** Im Test genügten die neuen Tags in `.env` und `compose.yaml` (Karakeep `0.34.0`: Browser `karakeep-chrome:154.0.8037.57-r1`) und `docker compose up -d`. Die Datenbankmigration lief beim Start, der Dienst `web` war nach wenigen Sekunden `healthy`, ein vorher angelegtes Lesezeichen und der API-Schlüssel funktionierten weiter, die Anmeldung gelang, ein falsches Passwort ergab `401`, und ein neuer Link wurde samt Screenshot gecrawlt. Laut Release Notes ist Folgendes zu beachten:

- **Einmal neu anmelden:** Die Anmeldung läuft jetzt über better-auth mit Sitzungen in der Datenbank. Alle Web-Nutzer werden einmal abgemeldet, Apps und API-Schlüssel sind nicht betroffen.
- **E-Mail-Adressen in Kleinbuchstaben:** Das Update schreibt gespeicherte Adressen klein. Im Test wurde aus `Admin@Example.com` `admin@{{domain}}`, die Anmeldung mit der kleingeschriebenen Adresse gelang. Gibt es zwei Konten, die sich nur in der Groß- und Kleinschreibung unterscheiden, löschen Sie vor dem Update das unbenutzte, sonst sperren Sie sich aus.
- **Neue Variable `AUTH_TRUSTED_ORIGINS`:** Standard ist `*`, also die Adresse, unter der die Anfrage ankam. Hinter einem Reverse Proxy können Sie sie auf Ihre öffentliche URL begrenzen. `NEXTAUTH_URL` und `NEXTAUTH_SECRET` bleiben Pflicht.
- **Browser-Image:** `karakeep-chrome` enthält jetzt Google Chrome statt der Headless Shell, damit weniger Seiten den Crawler blockieren. Das Image ist dadurch größer.

**Backups:** Das Volume `data` enthält die SQLite-Datenbank und alle Assets und ist das einzige kritische Backup-Ziel. Stoppen Sie vor dem Kopieren den Dienst `web` (`docker compose stop web`), damit die Datenbank konsistent gesichert wird. Den Volume-Pfad liefert:

```bash
$ sudo docker volume inspect karakeep_data --format '{{ .Mountpoint }}'
```

Alternativ ersetzen Sie in der `compose.yaml` `data:/data` durch den Bind-Mount `/opt/karakeep/data:/data`. Verwenden Sie nie `docker compose down -v`: `-v` löscht alle benannten Volumes inklusive Datenbank unwiderruflich.

> **Prüfen:** `docker compose ps` zeigt nach dem Update alle Services wieder als `Up`. Die Oberfläche zeigt unter den Einstellungen die neue Versionsnummer.

## Troubleshooting / Typische Fehler

**Login-Redirect schlägt fehl / Sitzung nicht akzeptiert**

`NEXTAUTH_URL` stimmt nicht mit der genutzten URL überein. Bei HTTPS-Betrieb hinter einem Reverse Proxy muss `NEXTAUTH_URL=https://karakeep.{{domain}}` gesetzt und danach `docker compose up -d` ausgeführt werden.

**Kein Screenshot, kein Seiten-Archiv**

Der Chrome-Container läuft nicht oder ist nicht erreichbar. Prüfen Sie `docker compose logs chrome`. Wer noch das alte Image `alpine-chrome` nutzt, stellt laut Projekt auf `karakeep-chrome` um und entfernt dabei die Argumente `--remote-debugging-*`.

**Auto-Tagging funktioniert nicht (OpenAI)**

API-Key ungültig oder Konto ohne nutzbares Kontingent. Prüfen Sie `docker compose logs web | grep -i inference` und das OpenAI-Konto, oder wechseln Sie auf Ollama.

**Ollama nicht erreichbar**

`OLLAMA_BASE_URL=http://localhost:11434` funktioniert im Container nicht. Korrekt: die Host-IP oder `http://host.docker.internal:11434` (unter Linux nur mit `extra_hosts`, siehe Schritt 6).

**Meilisearch-Fehler „incompatible db version“**

Nach einem Meilisearch-Upgrade ist der Suchindex inkompatibel. Meilisearch stoppen, Verzeichnis `data.ms` im Volume umbenennen, neu starten, dann unter *Admin Settings → Background Jobs* „Reindex All Bookmarks“ ausführen.

**.env-Änderung hat keine Wirkung**

`docker compose restart` reicht nicht, verwenden Sie `docker compose up -d`.

**Falsches Ollama-Modell**

`INFERENCE_TEXT_MODEL=gpt-4o-mini` funktioniert nur mit OpenAI. Bei Ollama ein lokal verfügbares Modell eintragen, zum Beispiel `llama3`.

## Häufige Fragen

### Brauche ich einen OpenAI-Key, damit Karakeep funktioniert?

Nein. Volltextsuche, manuelles Tagging, Seiten-Archiv und Screenshots funktionieren ohne KI-Key; nur automatisches Tagging und Zusammenfassen entfallen. Alternativ nutzen Sie Ollama mit einem lokalen Modell.

### Kann ich Karakeep auf einem Raspberry Pi oder Apple-Silicon-Mac betreiben?

Ja. Das Karakeep-Image und das Karakeep-Chrome-Image gibt es für `linux/arm64`; Docker lädt automatisch die passende Variante. Auf einem Raspberry Pi 4 mit 4 GB RAM läuft der Stack problemlos, wenn keine anderen speicherintensiven Dienste aktiv sind.

### Wie sichere ich meine Daten am einfachsten?

Sichern Sie das Volume `data` bei gestopptem Dienst `web`, siehe Schritt 8. Mit dem Bind-Mount `/opt/karakeep/data:/data` genügt ein Verzeichnis-Backup.

### Wie richte ich Karakeep hinter einem Reverse Proxy ein?

Wie in Schritt 7: `NEXTAUTH_URL` auf die öffentliche HTTPS-URL setzen und im Proxy auf Port 3000 weiterleiten. Die üblichen Forwarding-Header reichen aus.

### Wie aktualisiere ich Meilisearch auf eine neue Version?

Nur wenn das Projekt es verlangt; Karakeep legt die Meilisearch-Version fest und rät von eigenen Upgrades ab. Nach einem Wechsel ist der alte Suchindex oft inkompatibel: Verzeichnis `data.ms` umbenennen und „Reindex All Bookmarks“ ausführen (siehe Troubleshooting). Die Bookmarks und Assets im `data`-Volume bleiben dabei unangetastet.

### Gibt es Browser-Extensions und mobile Apps?

Ja. Extensions für Chrome, Firefox und Safari sowie Apps für iOS und Android sind über die offizielle Karakeep-Website und die jeweiligen Stores verfügbar. Nach der Installation tragen Sie in den App-Einstellungen die URL Ihrer Instanz ein.

## Fazit

Karakeep bündelt Lesezeichen, Notizen und Dokumente in einem durchsuchbaren, selbst gehosteten Speicher. Der Stack bleibt überschaubar: drei Dienste, SQLite statt PostgreSQL, benannte Volumes für Daten und Suchindex. Die KI-Funktionen sind optional und laufen mit Ollama auch vollständig lokal. Für den Einstieg in lokale KI eignet sich [Ollama und Open WebUI mit Docker](https://s-edv.com/anleitungen/ollama-open-webui-docker-lokales-llm). Wer darüber hinaus ein hierarchisches Notizsystem sucht, findet mit [TriliumNext Notes mit Docker](https://s-edv.com/anleitungen/triliumnext-docker-wissensmanagement) eine Ergänzung für strukturierte Notizen.

## Weiterführende Anleitungen und Quellen

1. [Docker-Container automatisch aktualisieren](https://s-edv.com/anleitungen/docker-container-updates-watchtower-nachfolger-diun-wud)
2. [Docker und Docker Compose auf Linux installieren, die Self-Hosting-Grundlage](https://s-edv.com/anleitungen/docker-compose-linux-selfhosting-grundlage)
3. [Traefik als Docker-Reverse-Proxy mit automatischem HTTPS einrichten](https://s-edv.com/anleitungen/traefik-docker-reverse-proxy-https-einrichten)
4. [Ollama und Open WebUI mit Docker: eigenes lokales KI-Sprachmodell](https://s-edv.com/anleitungen/ollama-open-webui-docker-lokales-llm)
5. [Watchtower mit Docker: Container automatisch aktualisieren](https://s-edv.com/anleitungen/watchtower-docker-automatische-updates)
6. [TriliumNext Notes mit Docker: Hierarchisches Notizsystem](https://s-edv.com/anleitungen/triliumnext-docker-wissensmanagement)

Offizielle Quellen: [Karakeep Dokumentation, Docker-Installation](https://docs.karakeep.app/Installation/docker) | [Karakeep GitHub-Repository](https://github.com/karakeep-app/karakeep) | [Karakeep Konfigurationsreferenz](https://docs.karakeep.app/configuration)
