No description
defaults | ||
files | ||
handlers | ||
meta | ||
tasks | ||
templates | ||
README.md |
Nextcloud
Diese Rolle installiert Nextcloud. Sie umfasst:
- Einrichtung der Datenbank
- Installation und Ersteinrichtung von Nextcloud
- Anlegen eines Zertifikates + Konfigurarion des Reverse Proxies
- Anlegen eines PHP-FPM-Master-Prozesses mit socket activation
Verfügbare Variablen
Zur Konfiguration von Nextcloud stehen zwei Dictionaries zur Verfügung. Unter groups_vars/all/nextcloud.yaml
befinden sich im Dictionary default_occ_config
die Default-Einstellungen für alle Instanzen.
Zur individuellen Konfiguration können weitere Variablen in den host_vars
unter nextcloud_instaces
als Dictionary
occ_config
angegeben werden. Beide Dictionaries werden beim Ausführen des Playbooks gemergt.
Die Struktur der Dictonaries muss dabei zwingend der Nextcloud-Syntax folgen. Diese lässt sich auf eine bestenden Instanz mit occ ausgeben:
occ config:list --private
Beispiel-Konfiguration:
default_occ_config:
system:
default_language: de
default_locale: de_DE
nextcloud_instances:
- name: coop.systemausfall.org
user: nextcloud
database: nextcloud
hiddenservice: true
occ_config:
apps:
core:
backgroundjobs_mode: cron
system:
mail_from: noreply
mail_domain: systemausfall.org
Neue Nextcloud-Instanz anlegen
- Trage die Informationen zur neuen Instanz in die entsprechende
host_vars
-Datei unternextcloud_instances
ein:Variable Wert Beschreibung name
string Domain-Name der Instanz alias
string Array mit weiteren Domain-Alias-Namen für diese Instanz user
string Name eines anzulegenden Systemnutzers, der den PHP-FPM-Prozess ausführt database
string Name der anzulegenden MariaDB-Datenbank hiddenservice
bol Richtet für die Instanz einen Onion Service ein - Starte anschließend das Playbook:
ansible-playbook playbooks/nextcloud.yml
- Bei der Erstinstallation einer Nextcloud-Instanz gibt die Rolle anschließend die Anmeldeinformationen für den Admin-Zugang aus.
Aktualisierung des Cores/ von Apps
Mit dem Skript nextcloud-updater
können alle Nextcloud-Instanzen und die installierten Apps gleichzeitig aktualisiert werden.
Hinweise
Serverseitige Verschlüsselung
- Bei der serverseitigen Verschlüsselung wird der Schlüssel im Klartext auf dem Server gespeichert. Sofern die Daten also nicht auf einem externen Speicher liegen, bringt dies keinen Sicherheitsgewinn.
- In unseren Tests führte die serverseitige Verschlüsselung teilweise zu Problemen bei der Entschlüsselung.
- Per occ lässt sich die Verschlüsselung wieder deaktivieren und alle Daten können in einem Schritt entschlüsselt werden.
- Möglicherweise liegen dann immer noch Daten verschlüsselt vor (Dazu gibt es diverse Fehlerberichte). Mit dem PHP-Skript von Syseleven können die Daten entschlüsselt werden.