Nextcloud: Setup NC configuration via occ import

This commit is contained in:
phil 2023-10-22 20:29:30 +02:00
parent 72c5574fff
commit 86545d60ef
6 changed files with 54 additions and 87 deletions

View file

@ -8,6 +8,42 @@ Diese Rolle installiert [Nextcloud](https://nextcloud.com). Sie umfasst:
- 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](https://docs.nextcloud.com/server/latest/admin_manual/configuration_server/occ_command.html#config-commands) ausgeben:
```Shell
occ config:list --private
```
Beispiel-Konfiguration:
```YAML
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 unter `nextcloud_instances` ein:
@ -17,11 +53,12 @@ Diese Rolle installiert [Nextcloud](https://nextcloud.com). Sie umfasst:
| `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:
```Shell
ansible-playbook playbooks/nextcloud.yml
```
- Bei der Erstinstallation einer Nextclou-Instanz gibt die Rolle anschließend die Anmeldeinformationen für den Admin-Zugang aus.
- Bei der Erstinstallation einer Nextcloud-Instanz gibt die Rolle anschließend die Anmeldeinformationen für den Admin-Zugang aus.
# Aktualisierung des Cores/ von Apps