l3d.etebase
Ansible-Rolle EteBase - EteSync 2.0 Server Backend
Ansible-Rolle zur Einrichtung und Konfiguration von Etebase - dem Backend von EteSync 2.0 -> https://github.com/etesync/server.
Details
Diese Ansible-Rolle installiert und konfiguriert Etebase, das Backend von EteSync. Ein Software-Tool, um Ihre Kontakte, Kalender, Aufgaben und Notizen sicher zu synchronisieren! In dieser Ansible-Rolle wird ein separater Benutzer für Etebase erstellt. Die neueste Version von Etebase wird im Home-Verzeichnis dieses Benutzers heruntergeladen. Eine Konfiguration wird erstellt. Die angegebenen Python-Abhängigkeiten werden in einer virtuellen Umgebung (venv) installiert. Optional kann Etebase automatisch über einen systemd-Dienst und Uvicorn gestartet werden.
Diese Ansible-Rolle erstellt keine Benutzer in Etebase. Die Konfiguration für den Webserver wird ebenfalls nicht erstellt. Weitere Informationen finden Sie im Abschnitt Zusätzliche Informationen.
Standardvariablen
Variable | Wert | Beschreibung |
---|---|---|
etebase__user | etebase |
Der Unix-Benutzer für Etebase |
etebase__group | etebase |
Die Unix-Gruppe für Etebase |
etebase__user_home | /var/lib/etebase |
Etebase Benutzerverzeichnis |
etebase__shell | /bin/false |
Standard-Shell für Etebase-Benutzer |
etebase__venv_path | {{ etebase__user_home }}/venv |
Etebase venv-Pfad |
etebase__socket | /tmp/etebase_server.sock |
Etebase Socket-Pfad (nur wenn etebase__systemd_setup auf true gesetzt ist) |
etebase__package_state | present |
Auf latest setzen, um alle erforderlichen System- und pip-Pakete auf die neueste Version zu aktualisieren |
etebase__version | latest |
Etebase Release-Tag |
etebase__secrets_dir | {{ etebase__user_home }}/secrets |
Pfad zum Speichern von Etebase-Geheimnissen |
etebase__collectstatic | true |
Statische Dateien für Etebase generieren |
etebase__restart_webserver | false |
Auf true setzen, um den Webserver bei Änderungen an der Konfiguration neu zu starten (etebase__systemd_setup erforderlich) |
etebase__webserver_service | nginx.service |
Welches systemd-Einheit sollte für den Webserver neu gestartet werden |
etebase__systemd_setup | false |
Auf true setzen, um Etebase als systemd-Einheit mit dem oben konfigurierten systemd-Socket zu starten |
etebase__create_backup | false |
Soll diese Rolle ein Backup erstellen, bevor Etebase aktualisiert wird |
etebase__backup_destination | {{ etebase__user_home }}/backup |
Zielverzeichnis für das Backup |
etebase__backup_sqlite | true |
Wenn wir ein Backup machen, können wir die sqlite3-Datenbank überspringen, indem wir dies umschalten |
submodules_versioncheck | false |
Sollen wir eine einfache Versionsprüfung für diese Ansible-Rolle durchführen |
Optionen für etebase-server.ini
Variable | Wert | Beschreibung |
---|---|---|
etebase__global_secret_file | {{ etebase__secrets_dir }}/secret.txt |
Pfad zu secret.txt |
etebase__global_debug | false |
Debug auf true setzen |
etebase__global_static_root | {{ etebase__user_home }}/static_root |
Pfad zum statischen Wurzelverzeichnis |
etebase__global_media_root | {{ etebase__user_home }}/media_root |
Pfad für Medien |
etebase__global_extra | Variable für zusätzliche Parameter im [global] -Abschnitt der Konfigurationsdatei |
|
etebase__allowed_hosts_allowed_host1 | * |
Der erlaubte Host für diesen Etebase-Server |
etebase__allowed_hosts_extra | Variable für zusätzliche Parameter im [allowed_hosts] -Abschnitt der Konfigurationsdatei |
|
etebase__database_engine | django.db.backends.sqlite3 |
Datenbank-Engine |
etebase__database_name | {{ etebase__secrets_dir }}/etebase.db.sqlite3 |
Pfad zur sqlite3-Datenbank |
etebase__database_extra | Variable für zusätzliche Parameter im [database] -Abschnitt der Konfigurationsdatei |
|
etebase__database_options_extra | Variable für zusätzliche Parameter im [database_options] -Abschnitt der Konfigurationsdatei |
|
etebase__ldap_extra | Variable für zusätzliche Parameter im [ldap] -Abschnitt der Konfigurationsdatei |
|
etebase__config_extra | Variable für zusätzliche Parameter am Ende der Konfigurationsdatei |
Zusätzliche Informationen
Sie finden weitere Informationen zur Webserver-Konfiguration unter github.com/etesync/server/wiki/Production-setup-using-Nginx. Bitte merken Sie sich den Wert, den Sie für die Variable etebase__socket
verwendet haben, wenn Sie diese Rolle verwendet haben, um den uvicorn ASGI-Server über systemd zu starten. Dazu müssen Sie etebase__systemd_setup
auf true
setzen.
Sie müssen einen Admin-Benutzer selbst erstellen. Melden Sie sich dazu manuell als privilegierter Benutzer an, wechseln Sie in das etebase__user_home
. Gehen Sie in das heruntergeladene Etebase-Codeverzeichnis und führen Sie den Befehl python3 ./manage.py createsuperuser
in der venv aus:
# Gehe zum Etebase-Verzeichnis
cd /var/lib/etebase/
# Wechsle zur neuesten Etebase-Version
ls -l etebase_*
cd etebase_v0.10.0 # Beispielversion
# Aktiviere die neueste venv
ls -l /var/lib/etebase/venv
source /var/lib/etebase/venv/v0.10.0/bin/activate # Beispielversion
# Erstelle einen neuen Superbenutzer
python3 ./manage.py createsuperuser
Übrigens, diese Rolle erfordert, dass der Ansible-Benutzer Berechtigungen hat, um Befehle mit sudo auszuführen.
Beispiel-Playbook
---
- name: Etebase-Server auf example.com installieren
hosts: example.com
roles:
- {role: do1jlr.etebase, tags: etebase}
vars:
etebase__allowed_hosts_allowed_host1: 'example.com'
etebase__systemd_setup: true
submodules_versioncheck: true
Anforderungen
Die Sammlung community.general
wird für einige Teile dieser Ansible-Rolle benötigt.
Sie können sie mit folgendem Befehl installieren:
ansible-galaxy collection install -r requirements.yml --upgrade
Mitwirken
Zögern Sie nicht, ein Problem zu melden oder (noch besser) einen Pull-Request zu erstellen.
Ansible role to Setup and Confugure Etebase - The Backend from EteSync 2.0.
ansible-galaxy install l3d.etebase