Nutzung von Nextcloud AIO mit Microsoft Core Fonts
Inhaltsverzeichnis
Vorwort #
Nextcloud AIO ist die offizielle Installationsmethode für Nextcloud. Basis für diese Installation ist Docker. Es muss lediglich ein einzelner Container deployed werden, den Rest übernimmt Nextcloud AIO automatisch.
Das Problem #
Für User gängige Schriftarten wie z.B. “Arial”, “Times New Roman” oder “Courier” wurden von Microsoft erstellt und veröffentlicht. Damit hat Microsoft alle Rechte an diesen Schriftarten. Diese dürfen nicht ohne Zustimmung von Microsoft weiterverkauft oder weiterverteilt werden. Dadurch sind Open Source Lösungen wie Collabora Office dazu gezwungen, diese Schriftarten nicht in Ihre Produkte einzubinden.
Da der Mastercontainer von Nextcloud AIO alle weiteren Container kontrolliert, ist es leider nicht möglich eigene Volume Mappings zu definieren um Schriftarten vom Host System im Container von Collabora verfügbar zu machen. Daher wird in den nachfolgenden Schritten erklärt, wie diese Schriftarten dennoch in den Container kopiert werden können.
Voraussetzungen #
- aktuelles Linux Betriebssystem
- Server ist aus dem Internet erreichbar
- eingerichtete Domain / Subdomain
Installation #
Docker #
Docker wird nach der offiziellen Dokumentation entsprechend des Betriebssystems installiert. Sollte Docker (einschließlich Docker Compose) bereits installiert sein, können Sie diesen Schritt überspringen.
Nextcloud AIO #
Sollten Sie bereits eine vorhandene Instanz von Nextcloud AIO betreiben, können Sie diesen Schritt überspringen.
Zuerst erstellen Sie ein neues Verzeichnis um die relevanten Daten zu speichern. Sie können den Speicherpfad frei wählen. Zum Beispiel:
mkdir -p /var/opt/docker/nextcloud-aio
cd /var/opt/docker/nextcloud-aio
Laden Sie nun das docker-compose File aus dem GitHub Repository herunter
wget https://raw.githubusercontent.com/nextcloud/all-in-one/refs/heads/main/compose.yaml -O docker-compose.yaml
Nun kann die Datei docker-compose.yaml editiert und Nextcloud AIO konfiguriert werden. Dazu werden folgende Zeilen geändert:
Zeile 15: entfernen von "# "
Zeile 23: entfernen von "# " und anpassen des Pfades
Weitere Änderungen können bei Bedarf gemacht werden.
Nun kann Nextcloud AIO gestartet werden:
docker compose up -d
Über einen Webbrowser wird nun das Setup von Nextcloud AIO aufgerufen: https://ihre.domain.com:8443
Folgen Sie den Anweisungen des Installers und aktivieren Sie Collabora Office.
Schriftarten #
Hinweis: Für die Installation des Pakets ist das Aktivieren der “contrib” Komponente in den Debian Paketlisten notwendig. Sie können dies prüfen, indem Sie folgenden Befehl ausführen:
cat /etc/apt/sources.list
Ist in den Zeilen, welche mit “deb” oder “deb-src” beginnen, “contrib” enthalten, können Sie fortfahren. Andernfalls fügen Sie diese hinzu und aktualisieren Sie anschließend die Paketlisten mittls
apt update
Nun werden die Microsoft Fonts installiert. Diese sind in der Regel über den Paketmanager des Betriebssystems verfügbar. Der Name des Pakets ist abhängig von der installierten Distribution.
Zum Beispiel unter Debian:
apt install ttf-mscorefonts-installer -y
Nach erfolgter Installation sind die Fonts in folgendem Verzeichnis enthalten
/usr/share/fonts/truetype/msttcorefonts/
Da bei einem Wechsel des Container Images für Collabora die hineinkopierten Schriftarten verloren gehen würden, wird ein Skript für das Kopieren und neu starten des Containers erstellt und anschließend per Cron regelmäßig ausgeführt.
Legen Sie dazu eine neue Datei mit dem Texteditor Ihrer Wahl an (in diesem Fall vi)
mkdir /root/scripts
vi /root/scripts/collabora_msttcorefonts.sh
Fügen Sie anschließend folgenden Inhalt in die Datei ein:
#!/bin/bash
docker cp -a /usr/share/fonts/truetype/msttcorefonts/ nextcloud-aio-collabora:/opt/collaboraoffice/share/fonts/truetype/ > /dev/null 2>&1
docker restart nextcloud-aio-collabora > /dev/null 2>&1
Machen Sie nun das Skript ausführbar und führen Sie es einmalig aus, um die Schriftarten sofort verfügbar zu machen.
chmod 0750 /root/scripts/collabora_msttcorefonts.sh
/root/scripts/collabora_msttcorefonts.sh
Damit die Schriftarten auch nach einem Update verfügbar sind, wird ein neuer Cronjob angelegt und täglich einmal ausgeführt. Sie können den Interval und Zeitpunkt frei wählen
crontab -u root -e
0 1 * * * /root/scripts/collabora_msttcorefonts.sh
Nach einem Update von Nextcloud AIO und dessen Containern können Sie das Skript auch manuell ausführen.
Zusammenfassung #
Sie haben auf Ihrem Host System die msttcorefonts installiert und diese in den Container von Collabora unter Nextcloud AIO kopiert. Außerdem werden die Schriftarten täglich automatisch neu in den Container kopiert, um Problemen nach Updates vorzubeugen.
msttcorefonts directory: /usr/share/fonts/truetype/msttcorefonts/
Collabora fonts directory: /opt/collaboraoffice/share/fonts/truetype/
Docker directory: /var/opt/docker/nextcloud-aio/