l3d.etebase
Rola Ansible EteBase - Backend serwera EteSync 2.0
Rola Ansible do skonfigurowania i ustawienia Etebase - backendu z EteSync 2.0 -> https://github.com/etesync/server.
Szczegóły
Ta rola Ansible instaluje i konfiguruje etebase, backend etesync. To oprogramowanie, które bezpiecznie synchronizuje Twoje kontakty, kalendarze, zadania i notatki! W tej roli Ansible tworzony jest osobny użytkownik dla etebase. Najnowsza wersja etebase jest pobierana do katalogu domowego tego użytkownika. Tworzona jest konfiguracja. Określone zależności Pythona są instalowane w wirtualnym środowisku. Opcjonalnie etebase może być uruchamianie automatycznie za pomocą usługi systemd i uvicorn.
Ta rola Ansible nie tworzy użytkowników w Etebase. Konfiguracja dla serwera webowego również nie jest tworzona. Więcej informacji w sekcji Dodatkowe informacje.
Domyślne zmienne
| zmienna | wartość | opis | 
|---|---|---|
| etebase__user | etebase | Użytkownik Unix dla etebase | 
| etebase__group | etebase | Grupa Unix dla etebase | 
| etebase__user_home | /var/lib/etebase | Katalog domowy użytkownika Etebase | 
| etebase__shell | /bin/false | Domyślna powłoka użytkownika Etebase | 
| etebase__venv_path | {{ etebase__user_home }}/venv | Ścieżka do wirtualnego środowiska Etebase | 
| etebase__socket | /tmp/etebase_server.sock | Ścieżka do gniazda Etebase (tylko jeśli etebase__systemd_setupjest ustawione natrue) | 
| etebase__package_state | present | Ustaw na latest, aby zaktualizować wszystkie wymagane pakiety systemowe i pip do najnowszej wersji | 
| etebase__version | latest | Oznaczenie wersji Etebase | 
| etebase__secrets_dir | {{ etebase__user_home }}/secrets | Ścieżka do przechowywania sekretów etebase | 
| etebase__collectstatic | true | Generuj statyczne pliki dla etebase | 
| etebase__restart_webserver | false | Ustaw na true, aby zrestartować serwer webowy po zmianie konfiguracji (wymagana etebase__systemd_setup) | 
| etebase__webserver_service | nginx.service | Która jednostka systemd powinna być restartowana dla serwera webowego | 
| etebase__systemd_setup | false | Ustaw na true, aby uruchomić etebase jako jednostkę systemd z wcześniej skonfigurowanym gniazdem systemd | 
| etebase__create_backup | false | Czy ta rola powinna tworzyć kopię zapasową przed aktualizacją etebase | 
| etebase__backup_destination | {{ etebase__user_home }}/backup | Katalog docelowy dla kopii zapasowej | 
| etebase__backup_sqlite | true | Jeśli robimy kopię zapasową, możemy pominąć bazę danych sqlite3, ustawiając tę wartość na false | 
| submodules_versioncheck | false | Czy powinniśmy przeprowadzić prostą kontrolę wersji dla tej roli ansible | 
Opcje dla etebase-server.ini
| zmienna | wartość | opis | 
|---|---|---|
| etebase__global_secret_file | {{ etebase__secrets_dir }}/secret.txt | ścieżka do secret.txt | 
| etebase__global_debug | false | Ustaw debug na true | 
| etebase__global_static_root | {{ etebase__user_home }}/static_root | Ścieżka do katalogu głównego statycznych plików | 
| etebase__global_media_root | {{ etebase__user_home }}/media_root | Ścieżka dla plików multimedialnych | 
| etebase__global_extra | Zmienna dla dodatkowych parametrów w sekcji [global]pliku konfiguracyjnego | |
| etebase__allowed_hosts_allowed_host1 | * | Dozwolony host dla tego serwera etebase | 
| etebase__allowed_hosts_extra | Zmienna dla dodatkowych parametrów w sekcji [allowed_hosts]pliku konfiguracyjnego | |
| etebase__database_engine | django.db.backends.sqlite3 | Silnik bazy danych | 
| etebase__database_name | {{ etebase__secrets_dir }}/etebase.db.sqlite3 | Ścieżka do bazy danych sqlite3 | 
| etebase__database_extra | Zmienna dla dodatkowych parametrów w sekcji [database]pliku konfiguracyjnego | |
| etebase__database_options_extra | Zmienna dla dodatkowych parametrów w sekcji [database_options]pliku konfiguracyjnego | |
| etebase__ldap_extra | Zmienna dla dodatkowych parametrów w sekcji [ldap]pliku konfiguracyjnego | |
| etebase__config_extra | Zmienna dla dodatkowych parametrów na końcu pliku konfiguracyjnego | 
Dodatkowe informacje
Więcej informacji na temat konfiguracji serwera webowego znajdziesz na stronie github.com/etesync/server/wiki/Production-setup-using-Nginx. Pamiętaj wartość, której użyłeś dla zmiennej etebase__socket, jeśli użyłeś tej roli do uruchomienia serwera ASGI uvicorn za pomocą systemd. Aby to zrobić, musisz ustawić etebase__systemd_setup na true.
Musisz samodzielnie stworzyć użytkownika administratora. Aby to zrobić, zaloguj się ręcznie jako użytkownik z uprawnieniami, przejdź do etebase__user_home. Wejdź do katalogu pobranego kodu etebase i uruchom polecenie python3 ./manage.py createsuperuser w wirtualnym środowisku:
# przejdź do katalogu domowego etebase
cd /var/lib/etebase/
# przejdź do najnowszej wersji etebase
ls -l etebase_*
cd etebase_v0.10.0  # przykład wersji
# aktywuj najnowsze wirtualne środowisko
ls -l /var/lib/etebase/venv
source /var/lib/etebase/venv/v0.10.0/bin/activate  # przykład wersji
# utwórz nowego superużytkownika
python3 ./manage.py createsuperuser
Ta rola wymaga, aby użytkownik Ansible miał uprawnienia do wykonywania poleceń z uprawnieniami sudo.
Przykładowy Playbook
---
- name: Zainstaluj serwer etebase na example.com
  hosts: example.com
  roles:
    - {role: do1jlr.etebase, tags: etebase}
  vars:
    etebase__allowed_hosts_allowed_host1: 'example.com'
    etebase__systemd_setup: true
    submodules_versioncheck: true
Wymagania
Kolekcja community.general jest wymagana dla niektórych części tej roli ansible.
Możesz ją zainstalować za pomocą tego polecenia:
ansible-galaxy collection install -r requirements.yml --upgrade
Wkład
Nie wahaj się otworzyć zgłoszenia lub (jeszcze lepiej) stworzyć pull request.
Ansible role to Setup and Confugure Etebase - The Backend from EteSync 2.0.
ansible-galaxy install l3d.etebase