l3d.etebase

Ansible Galaxy MIT License Wartung

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.

Über das Projekt

Ansible role to Setup and Confugure Etebase - The Backend from EteSync 2.0.

Installieren
ansible-galaxy install l3d.etebase
GitHub Repository
Lizenz
mit
Downloads
654
Besitzer
Ansible roles provide a framework for fully independent, or interdependent collections of variables,tasks,files,templates &modules. Here we maintain some. enjoy