Hallo zusammen,
Mathias @rettich hat mich gebeten, mein Setup hier reinzupacken… deshalb: Here you are
Ich verwende grundsätzlich die Standard-Images, aber weil ein paar Anpassungen sein müssen, erweitere ich die.
Meine Nextcloud-Umgebung besteht aus
- Datenbank (mariadb)
- redis
- elasticsearch für die Volltextsuche
- nextcloud
- (onlyoffice)
z.B. der Nextclout-Container wird mit folgendem Dockerfile gebaut:
FROM nextcloud:26.0.3
RUN apt update && apt install -y libmagickcore-6.q16-6-extra libreoffice
COPY ./opcache-recommended.ini /usr/local/etc/php/conf.d/opcache-recommended.ini
wie man sieht, installiere ich zwei Pakete nach, die ich gerne haben möchte:
- libmagickcore weil sonst die Nextcloud mosert, dass irgendwelche Vorschauen nicht gezeigt werden können (vielleicht ist das mittlerweile auch schon im Standardimage…)
- libreoffice, weil ich gerne in Workflows automatisch doc, docx und odt Dateien nach PDF konvertieren lassen möchte
Außerdem kopiere ich beim Bau noch die angepasste Config für den opcache in das Image, damit ich da die Parameter erhöhen kann, falls ich wieder mal angemault werde, weil sie zu klein angesetzt sind.
Für die Volltextsuche brauche ich eine elasticsearch-Instanz, die ich mit folgendem Dockerfile aus dem offiziellen Image baue:
FROM docker.elastic.co/elasticsearch/elasticsearch:7.15.0
RUN yes | /usr/share/elasticsearch/bin/elasticsearch-plugin install ingest-attachment
Ich weiß nicht mehr genau, wofür dieses Plugin notwendig war, aber wenn ich mich nicht schwer irre, hat die Indizierung des Datenbestandes ohne dieses nicht funktioniert.
Die Konfiguration an sich ist danach ganz einfach:
- Container bauen und starten
- in Nextcloud die drei Apps „Full text search“, „Full text search - Files“ und „Full text search - Elasticsearch Platform“ installieren
- in den Verwaltungseinstellungen von „Volltextsuche“ die eigene Konfiguration eintragen:
- Suchplattform: Elasticsearch
- Adresse des Servlets: http://nameDesElasticSearchServers:9200
- Index: ist wohl beliebig, bei mir steht drin „morz_index“ - ‚MORZ‘ ist meine Schule…
- Analyzer tokenizer: standard
- Außerdem nach eigenem Gusto, was alles berücksichtigt werden soll. Bei mir z.B.:
- Lokale Dateien: Ja
- Externe Dateien: „weder Pfad noch Inhalt indexieren“
- Gruppenordner: Ja
- Maximale Dateigröße: 30MB
- PDF indizieren: Ja
- Office-Dateien indizieren: Ja
möglicherweise muss für „Office-Dateien indizieren“ libreoffice installiert sein. Da das bei mir für andere Zwecke ohnehin schon der Fall ist, kann ich das weder sicher sagen noch ausschließen.
Joa… das wars eigenltich schon.
Wenn alles installiert ist, muss man einmalig den Index erstellen lassen (das dauert SEHR lange und läuft wohl am Besten ab Freitag mittag, wenn nicht mehr so viele Leute eine performante Nextcloud benötigen
Angestoßen wird der Vorgang mit „occ fulltextsearch:index“
Bei der erstinbetriebnahme hat mir Carstens Artikel geholfen… hier: Volltextsuche mit Nextcloud - Carsten Rieger IT-Services
Soweit mal Have fun!
LG Jesko