l3d.etebase
Rôle Ansible EteBase - Backend du Serveur EteSync 2.0
Rôle Ansible pour installer et configurer Etebase - le backend de EteSync 2.0 -> https://github.com/etesync/server.
Détails
Ce rôle Ansible installe et configure etebase, le backend d'etesync. C'est un logiciel pour synchroniser en toute sécurité vos contacts, calendriers, tâches et notes ! Dans ce rôle Ansible, un utilisateur séparé est créé pour etebase. La dernière version d'etebase est téléchargée dans le répertoire personnel de cet utilisateur. Une configuration est créée. Les dépendances Python spécifiées sont installées dans un environnement virtuel (venv). Optionnellement, etebase peut être lancé automatiquement via un service systemd et uvicorn.
Ce rôle Ansible ne crée pas d'utilisateurs dans Etebase. Et la configuration pour le serveur web n'est pas non plus créée. Pour plus d'informations, consultez la section Informations Complémentaires.
Variables par défaut
variable | valeur | description |
---|---|---|
etebase__user | etebase |
L'utilisateur Unix pour etebase |
etebase__group | etebase |
Le groupe Unix pour etebase |
etebase__user_home | /var/lib/etebase |
Répertoire personnel de l'utilisateur Etebase |
etebase__shell | /bin/false |
Shell par défaut de l'utilisateur Etebase |
etebase__venv_path | {{ etebase__user_home }}/venv |
Chemin du venv d'Etebase |
etebase__socket | /tmp/etebase_server.sock |
Chemin du socket Etebase (uniquement si etebase__systemd_setup est à true ) |
etebase__package_state | present |
Mettre à latest pour mettre à jour tous les paquets système et pip nécessaires à etebase |
etebase__version | latest |
Tag de la version d'Etebase |
etebase__secrets_dir | {{ etebase__user_home }}/secrets |
Chemin pour stocker les secrets d'Etebase |
etebase__collectstatic | true |
Générer des fichiers statiques pour etebase |
etebase__restart_webserver | false |
Mettre à true pour redémarrer le serveur web en cas de changement de config (etebase__systemd_setup requis) |
etebase__webserver_service | nginx.service |
Quelité unité systemd doit être redémarrée pour le serveur web |
etebase__systemd_setup | false |
Mettre à true pour lancer etebase en tant qu'unité systemd avec le socket systemd configuré ci-dessus |
etebase__create_backup | false |
Ce rôle doit-il créer une sauvegarde avant de mettre à jour etebase |
etebase__backup_destination | {{ etebase__user_home }}/backup |
Répertoire de destination pour la sauvegarde |
etebase__backup_sqlite | true |
Si nous faisons une sauvegarde, nous pourrions ignorer la base de données sqlite3 en inversant cela |
submodules_versioncheck | false |
Devons-nous faire une simple vérification de version pour ce rôle Ansible |
Options pour etebase-server.ini
variable | valeur | description |
---|---|---|
etebase__global_secret_file | {{ etebase__secrets_dir }}/secret.txt |
chemin du fichier secret.txt |
etebase__global_debug | false |
Mettre le débogage à true |
etebase__global_static_root | {{ etebase__user_home }}/static_root |
Chemin de la racine statique |
etebase__global_media_root | {{ etebase__user_home }}/media_root |
Chemin pour les médias |
etebase__global_extra | Variable pour des paramètres supplémentaires dans la section [global] du fichier de configuration |
|
etebase__allowed_hosts_allowed_host1 | * |
L'hôte autorisé pour ce serveur etebase |
etebase__allowed_hosts_extra | Variable pour des paramètres supplémentaires dans la section [allowed_hosts] du fichier de configuration |
|
etebase__database_engine | django.db.backends.sqlite3 |
Moteur de base de données |
etebase__database_name | {{ etebase__secrets_dir }}/etebase.db.sqlite3 |
Chemin de la base de données sqlite3 |
etebase__database_extra | Variable pour des paramètres supplémentaires dans la section [database] du fichier de configuration |
|
etebase__database_options_extra | Variable pour des paramètres supplémentaires dans la section [database_options] du fichier de configuration |
|
etebase__ldap_extra | Variable pour des paramètres supplémentaires dans la section [ldap] du fichier de configuration |
|
etebase__config_extra | Variable pour des paramètres supplémentaires à la fin du fichier de configuration |
Informations Complémentaires
Vous trouverez plus d'informations sur la config du serveur web à github.com/etesync/server/wiki/Production-setup-using-Nginx. Veuillez vous souvenir de la valeur que vous avez utilisée pour la variable etebase__socket
, si vous avez utilisé ce rôle pour démarrer le serveur ASGI uvicorn via systemd. Pour cela, vous devez définir etebase__systemd_setup
à true
.
Vous devez créer un utilisateur administrateur vous-même. Pour ce faire, connectez-vous manuellement en tant qu'utilisateur privilégié, accédez à etebase__user_home
. Entrez le répertoire du code etebase téléchargé et exécutez la commande python3 ./manage.py createsuperuser
dans le venv :
# aller au répertoire d'etebase
cd /var/lib/etebase/
# passer à la dernière version d'etebase
ls -l etebase_*
cd etebase_v0.10.0 # version exemple
# activer le dernier venv
ls -l /var/lib/etebase/venv
source /var/lib/etebase/venv/v0.10.0/bin/activate # version exemple
# créer un nouvel superutilisateur
python3 ./manage.py createsuperuser
By the way, ce rôle nécessite que l'utilisateur Ansible ait la permission d'exécuter des commandes avec des privilèges sudo.
Exemple de Playbook
---
- name: Installer le serveur etebase sur 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
Exigences
La collection community.general
est requise pour certaines parties de ce rôle Ansible.
Vous pouvez l'installer avec cette commande :
ansible-galaxy collection install -r requirements.yml --upgrade
Contribuer
N'hésitez pas à ouvrir un problème ou (encore mieux) à créer une demande de tirage.
Ansible role to Setup and Confugure Etebase - The Backend from EteSync 2.0.
ansible-galaxy install l3d.etebase