thorian93.nextcloud
Rola Ansible: Nextcloud
Ta rola instaluje Nextcloud na serwerach Debian/Ubuntu, RHEL/CentOS oraz Fedora.
Znane problemy
- Instalacja na Debianie zazwyczaj działa, ale automatyczna konfiguracja Nextcloud obecnie nie jest możliwa. Musisz to zrobić ręcznie, a następnie uruchomić rolę ponownie w celu zadań zarządzania po instalacji. Rola nie powiedzie się przy pierwszym uruchomieniu, co jest oczekiwane.
Wymagania
Nie ma specjalnych wymagań; warto zauważyć, że rola wymaga dostępu root, więc uruchom ją w playbooku z globalnym become: yes
, lub wywołaj rolę w swoim playbooku jak:
- hosts: foobar
roles:
- role: thorian93.nextcloud
become: yes
Zmienne Roli
Dostępne zmienne są wymienione poniżej, wraz z wartościami domyślnymi (patrz defaults/main.yml
):
nextcloud_version: "20.0.5"
Określa wersję Nextcloud, którą chcesz zainstalować.
nextcloud_create_self_signed_cert: true
nextcloud_self_signed_cert_subj: "/C=DE/ST=FOO/L=BAR/O=Org/CN={{ nextcloud_external_url }}"
nextcloud_self_signed_certificate_key: "/etc/{{ apache2_http_name }}/ssl/nextcloud.key"
nextcloud_self_signed_certificate: "/etc/{{ apache2_http_name }}/ssl/nextcloud.crt"
Skonfiguruj certyfikaty samopodpisane według własnych potrzeb.
nextcloud_custom_cert: false
nextcloud_custom_cert_file: /etc/{{ apache2_http_name }}/ssl/nextcloud.crt
nextcloud_custom_cert_key: /etc/{{ apache2_http_name }}/ssl/nextcloud.key
Jeśli chcesz użyć własnego certyfikatu, możesz to określić tutaj.
nextcloud_certificate_key: "{{ certbot_cert_path }}/privkey.pem"
nextcloud_certificate: "{{ certbot_cert_path }}/cert.pem"
nextcloud_certificate_chain: "{{ certbot_cert_path }}/fullchain.pem"
Jeśli nextcloud_create_self_signed_cert
i nextcloud_custom_cert
są ustawione nafałszywo, zostanie użyty thorian93.certbot do pozyskania certyfikatów.
nextcloud_db_system: "mysql"
nextcloud_db_host: "127.0.0.1"
nextcloud_db_name: "nextcloud"
Skonfiguruj bazę danych dla Nextcloud. Aktualnie dostępny jest tylko MySQL/MariaDB.
nextcloud_enable_opt_prerequisites: true
Instaluje dodatkowe oprogramowanie, które jest przydatne dla Nextcloud.
nextcloud_turn_enable: 'false'
nextcloud_turn_ip: "{{ ansible_default_ipv4.address }}"
nextcloud_turn_port: 3478
nextcloud_turn_realm: "{{ nextcloud_external_url }}"
# Ustaw to w swoim inwentarzu. Domyślnie ta rola będzie generować nowy sekret przy każdym uruchomieniu, dopóki ta zmienna nie jest ustawiona.
# nextcloud_turn_secret:
Włącz i skonfiguruj serwer TURN dla Nextcloud Talk na swoim serwerze. Więcej informacji znajdziesz w dokumentacji Nextcloud. Zwróć uwagę na zmienną nextcloud_turn_secret
!
nextcloud_backup: false
nextcloud_backup_path: "/tmp"
Skonfiguruj kopie zapasowe dla Nextcloud.
nextcloud_web_dir: "/var/www/nextcloud"
nextcloud_data_dir: "/var/www/nextcloud/data"
Określa katalogi dla Nextcloud.
Zaleca się umieszczenie katalogu danych poza katalogiem głównym sieci web.
Katalog główny jest konfigurowalny, ale aktualnie obsługuje tylko umiejscowienie w /var/www
. Przeniesienie aplikacji poza /var/www
obecnie nie będzie działać! To jednak nie wpływa na katalog danych.
nextcloud_php_options:
- line: "post_max_size = 4G"
regexp: "^post_max_size ="
- line: "upload_max_filesize = 4G"
regexp: "^upload_max_filesize ="
- line: "open_basedir ='{{ nextcloud_web_dir }}:{{ nextcloud_data_dir }}:/tmp:/dev/urandom'"
regexp: "^open_basedir ="
Określa opcje PHP dla Nextcloud. Podane tutaj wartości domyślne są konieczne do prawidłowego działania Nextcloud.
nextcloud_enabled_apps:
- files
Lista aplikacji, które powinny być włączone.
Zależności
- thorian93.apache2
- thorian93.php
- thorian93.certbot - gdy nie używa się certyfikatu niestandardowego lub samopodpisanego
- thorian93.mysql
Kompatybilność Systemu Operacyjnego
Ta rola zapewnia, że nie jest używana na nieobsługiwanych lub nieprzetestowanych systemach operacyjnych, sprawdzając, czy odpowiednia nazwa dystrybucji oraz główny numer wersji są obecne w dedykowanej zmiennej nazwanej jak <role-name>_stable_os
. Możesz znaleźć tę zmienną w domyślnym pliku zmiennych roli w defaults/main.yml
:
role_stable_os:
- Debian 10
- Ubuntu 18
- CentOS 7
- Fedora 30
Jeśli kombinacja dystrybucji i głównego numeru wersji nie zgadza się z docelowym systemem, rola będzie nieaktualna. Aby sprawić, by rola działała, dodaj nazwę dystrybucji i główny numer wersji do tej zmiennej, a wtedy będziesz mógł działać. Ale najpierw przetestuj nową kombinację!
Serdeczne podziękowania dla HarryHarcourt za ten pomysł!
Przykładowy Playbook
---
- name: "Uruchom rolę."
hosts: all
become: yes
roles:
- ansible-role-nextcloud
Wkład
Proszę, nie wahaj się zgłaszać problemów, jeśli znajdziesz błędy, problemy lub widzisz możliwość poprawy. Czuj się również swobodnie, aby skontaktować się ze mną w każdej chwili, jeśli chcesz coś zapytać lub omówić.
Zastrzeżenie
Ta rola jest dostarczana TA, JAKA JEST, i nie mogę gwarantować, że rola działa zgodnie z zamierzeniami, ani nie mogę ponosić odpowiedzialności za jakiekolwiek uszkodzenia lub błędne skonfigurowanie wynikające z tej roli. Dokładnie zapoznaj się z rolą przed jej użyciem.
Licencja
MIT
Informacje o autorze
Ta rola została stworzona w 2020 roku przez Thorian93.
Nextcloud - Open Source Files and Collaboration
ansible-galaxy install thorian93.nextcloud