Installation mit Docker (Detailliert)
Diese Seite beschreibt die Installationsschritte von Fess mit Docker und Docker Compose. Mit Docker können Sie schnell und einfach eine Fess-Umgebung einrichten.
Voraussetzungen
Die in Systemanforderungen beschriebenen Systemanforderungen sind erfüllt
Docker 20.10 oder höher ist installiert
Docker Compose 2.0 oder höher ist installiert
Überprüfung der Docker-Installation
Überprüfen Sie die Version von Docker und Docker Compose mit folgenden Befehlen.
$ docker --version
$ docker compose version
Bemerkung
Bei Verwendung einer älteren Version von Docker Compose verwenden Sie den Befehl docker-compose. Diese Dokumentation verwendet das neue docker compose-Befehlsformat.
Über Docker-Images
Das Docker-Image von Fess besteht aus folgenden Komponenten:
Fess: Volltext-Suchsystem
OpenSearch: Suchmaschine
Das offizielle Docker-Image wird auf Docker Hub veröffentlicht.
Schritt 1: Herunterladen der Docker Compose-Dateien
Für den Start mit Docker Compose werden folgende Dateien benötigt.
Methode 1: Einzeln Dateien herunterladen
Laden Sie folgende Dateien herunter:
$ mkdir fess-docker
$ cd fess-docker
$ wget https://raw.githubusercontent.com/codelibs/docker-fess/v15.3.2/compose/compose.yaml
$ wget https://raw.githubusercontent.com/codelibs/docker-fess/v15.3.2/compose/compose-opensearch3.yaml
Methode 2: Repository mit Git klonen
Wenn Git installiert ist, können Sie auch das gesamte Repository klonen:
$ git clone --depth 1 --branch v15.3.2 https://github.com/codelibs/docker-fess.git
$ cd docker-fess/compose
Schritt 2: Überprüfung der Docker Compose-Dateien
Inhalt von compose.yaml
compose.yaml enthält die grundlegende Konfiguration von Fess.
Hauptkonfigurationspunkte:
Portnummer: Port der Fess-Weboberfläche (Standard: 8080)
Umgebungsvariablen: Einstellungen wie Java-Heap-Größe
Volumes: Einstellungen für Datenpersistenz
Inhalt von compose-opensearch3.yaml
compose-opensearch3.yaml enthält die OpenSearch-Konfiguration.
Hauptkonfigurationspunkte:
OpenSearch-Version: Verwendete OpenSearch-Version
Speichereinstellungen: JVM-Heap-Größe
Volumes: Einstellungen für Indexdaten-Persistenz
Anpassung der Konfiguration (Optional)
Wenn Sie die Standardkonfiguration ändern möchten, bearbeiten Sie compose.yaml.
Beispiel: Änderung der Portnummer:
services:
fess:
ports:
- "9080:8080" # Zuordnung zu Port 9080 des Hosts
Beispiel: Änderung der Speichereinstellungen:
services:
fess:
environment:
- "FESS_HEAP_SIZE=2g" # Fess-Heap-Größe auf 2 GB setzen
Schritt 3: Starten der Docker-Container
Grundlegender Start
Starten Sie Fess und OpenSearch mit folgendem Befehl:
$ docker compose -f compose.yaml -f compose-opensearch3.yaml up -d
Bemerkung
Mit der Option
-fwerden mehrere Compose-Dateien angegebenMit der Option
-dwird im Hintergrund ausgeführt
Überprüfung der Startprotokolle:
$ docker compose -f compose.yaml -f compose-opensearch3.yaml logs -f
Drücken Sie Ctrl+C, um die Protokollanzeige zu beenden.
Überprüfung des Starts
Überprüfen Sie den Status der Container:
$ docker compose -f compose.yaml -f compose-opensearch3.yaml ps
Vergewissern Sie sich, dass folgende Container laufen:
fessopensearch
Tipp
Der Start kann einige Minuten dauern. Warten Sie, bis im Protokoll „Fess is ready“ oder eine ähnliche Meldung erscheint.
Schritt 4: Zugriff über den Browser
Nach Abschluss des Starts greifen Sie auf folgende URL zu:
Suchseite: http://localhost:8080/
Verwaltungsseite: http://localhost:8080/admin
Standard-Administratorkonto:
Benutzername:
adminPasswort:
admin
Warnung
Wichtiger Sicherheitshinweis
In Produktionsumgebungen ändern Sie bitte unbedingt das Administratorpasswort. Weitere Informationen finden Sie unter Sicherheitseinstellungen.
Datenpersistenz
Volumes werden automatisch erstellt, um Daten auch nach dem Löschen der Docker-Container zu erhalten.
Überprüfung der Volumes:
$ docker volume ls
Fess-bezogene Volumes:
fess-es-data: OpenSearch-Indexdatenfess-data: Fess-Konfigurationsdaten
Wichtig
Volumes werden beim Löschen der Container nicht gelöscht. Um Volumes zu löschen, muss explizit der Befehl docker volume rm ausgeführt werden.
Stoppen der Docker-Container
Container stoppen:
$ docker compose -f compose.yaml -f compose-opensearch3.yaml stop
Container stoppen und löschen:
$ docker compose -f compose.yaml -f compose-opensearch3.yaml down
Warnung
Der Befehl down löscht Container, aber keine Volumes. Um auch Volumes zu löschen, fügen Sie die Option -v hinzu:
$ docker compose -f compose.yaml -f compose-opensearch3.yaml down -v
Achtung: Dieser Befehl löscht alle Daten.
Erweiterte Konfiguration
Anpassung der Umgebungsvariablen
Durch Hinzufügen oder Ändern von Umgebungsvariablen in compose.yaml sind detaillierte Konfigurationen möglich.
Hauptumgebungsvariablen:
| Umgebungsvariable | Beschreibung |
|---|---|
FESS_HEAP_SIZE | Fess JVM-Heap-Größe (Standard: 1g) |
SEARCH_ENGINE_HTTP_URL | OpenSearch HTTP-Endpunkt |
TZ | Zeitzone (z.B.: Asia/Tokyo) |
Beispiel:
environment:
- "FESS_HEAP_SIZE=4g"
- "TZ=Europe/Berlin"
Verbindung zu externem OpenSearch
Bei Verwendung eines bestehenden OpenSearch-Clusters bearbeiten Sie compose.yaml und ändern Sie das Verbindungsziel.
Verwenden Sie
compose-opensearch3.yamlnicht:$ docker compose -f compose.yaml up -d
Setzen Sie
SEARCH_ENGINE_HTTP_URL:environment: - "SEARCH_ENGINE_HTTP_URL=http://your-opensearch-host:9200"
Konfiguration des Docker-Netzwerks
Bei Integration mit mehreren Diensten können Sie ein benutzerdefiniertes Netzwerk verwenden.
Beispiel:
networks:
fess-network:
driver: bridge
services:
fess:
networks:
- fess-network
Produktionsbetrieb mit Docker Compose
Empfohlene Einstellungen bei Verwendung von Docker Compose in Produktionsumgebungen:
Ressourcenbeschränkungen:
deploy: resources: limits: cpus: '2.0' memory: 4G reservations: cpus: '1.0' memory: 2G
Neustartrichtlinie:
restart: unless-stopped
Protokollkonfiguration:
logging: driver: "json-file" options: max-size: "10m" max-file: "3"
Aktivierung der Sicherheitseinstellungen
Aktivieren Sie das Sicherheits-Plugin von OpenSearch und konfigurieren Sie entsprechende Authentifizierung. Weitere Informationen finden Sie unter Sicherheitseinstellungen.
Fehlerbehebung
Container startet nicht
Überprüfen Sie die Protokolle:
$ docker compose -f compose.yaml -f compose-opensearch3.yaml logs
Überprüfen Sie Portnummer-Konflikte:
$ sudo netstat -tuln | grep 8080 $ sudo netstat -tuln | grep 9200
Überprüfen Sie die Festplattenkapazität:
$ df -h
Speicher-Fehler
Wenn OpenSearch aufgrund von Speichermangel nicht startet, muss vm.max_map_count erhöht werden.
Unter Linux:
$ sudo sysctl -w vm.max_map_count=262144
Für dauerhafte Einstellung:
$ echo "vm.max_map_count=262144" | sudo tee -a /etc/sysctl.conf
$ sudo sysctl -p
Dateninitialisierung
Alle Daten löschen und in den Ausgangszustand zurücksetzen:
$ docker compose -f compose.yaml -f compose-opensearch3.yaml down -v
$ docker volume prune
Warnung
Dieser Befehl löscht alle Daten vollständig.
Nächste Schritte
Nach Abschluss der Installation lesen Sie bitte folgende Dokumentation:
Start, Stopp, Erstkonfiguration - Start und Ersteinrichtung von Fess
Sicherheitseinstellungen - Sicherheitseinstellungen für Produktionsumgebungen
Fehlerbehebung - Fehlerbehebung
Häufig gestellte Fragen
F: Wie groß sind die Docker-Images?
A: Das Fess-Image ist ca. 1 GB, das OpenSearch-Image ca. 800 MB. Beim ersten Start kann der Download einige Zeit dauern.
F: Ist Betrieb auf Kubernetes möglich?
A: Ja, möglich. Durch Konvertierung der Docker Compose-Dateien in Kubernetes-Manifeste oder durch Verwendung von Helm Charts ist Betrieb auf Kubernetes möglich. Weitere Informationen finden Sie in der offiziellen Fess-Dokumentation.
F: Wie aktualisiert man Container?
A: Aktualisieren Sie mit folgenden Schritten:
Besorgen Sie die neuesten Compose-Dateien
Stoppen Sie die Container:
$ docker compose -f compose.yaml -f compose-opensearch3.yaml down
Holen Sie neue Images:
$ docker compose -f compose.yaml -f compose-opensearch3.yaml pull
Starten Sie die Container:
$ docker compose -f compose.yaml -f compose-opensearch3.yaml up -d
F: Ist Multi-Node-Konfiguration möglich?
A: Ja, möglich. Durch Bearbeiten von compose-opensearch3.yaml und Definition mehrerer OpenSearch-Knoten kann eine Cluster-Konfiguration erstellt werden. Für Produktionsumgebungen wird jedoch die Verwendung von Orchestrierungs-Tools wie Kubernetes empfohlen.