l3d.etebase
Rol de Ansible EteBase - Backend del Servidor EteSync 2.0
Rol de Ansible para configurar Etebase, el backend de EteSync 2.0 -> https://github.com/etesync/server.
Detalles
Este rol de Ansible instala y configura etebase, el backend de etesync. ¡Un software para sincronizar de manera segura tus contactos, calendarios, tareas y notas! En este rol de Ansible, se crea un usuario separado para etebase. La última versión de etebase se descarga en el directorio principal de este usuario. Se crea una configuración. Las dependencias de Python especificadas se instalan en un entorno virtual (venv). Opcionalmente, etebase se puede iniciar automáticamente a través de un servicio systemd y uvicorn.
Este rol de Ansible no crea usuarios en Etebase. Tampoco se crea la configuración para el servidor web. Más sobre esto en la sección de Información Adicional.
Variables Predeterminadas
variable | valor | descripción |
---|---|---|
etebase__user | etebase |
El usuario Unix para etebase |
etebase__group | etebase |
El grupo Unix para etebase |
etebase__user_home | /var/lib/etebase |
Directorio principal del usuario Etebase |
etebase__shell | /bin/false |
Shell predeterminado del usuario Etebase |
etebase__venv_path | {{ etebase__user_home }}/venv |
Ruta del venv de Etebase |
etebase__socket | /tmp/etebase_server.sock |
Ruta del socket de Etebase (solo si etebase__systemd_setup está configurado como true ) |
etebase__package_state | present |
Establecer en latest para actualizar todos los paquetes del sistema y pip requeridos por etebase a la última versión |
etebase__version | latest |
Etiqueta de la versión de Etebase |
etebase__secrets_dir | {{ etebase__user_home }}/secrets |
Ruta para almacenar secretos de etebase |
etebase__collectstatic | true |
Generar archivos estáticos para etebase |
etebase__restart_webserver | false |
Establecer en true para reiniciar el servidor web al cambiar la configuración (necesita etebase__systemd_setup) |
etebase__webserver_service | nginx.service |
Qué unidad systemd debería reiniciarse para el servidor web |
etebase__systemd_setup | false |
Establecer en true para iniciar etebase como unidad systemd con el socket systemd configurado arriba |
etebase__create_backup | false |
¿Debería este rol crear una copia de seguridad antes de actualizar etebase? |
etebase__backup_destionation | {{ etebase__user_home }}/backup |
Directorio de destino para la copia de seguridad |
etebase__backup_sqlite | true |
Si hacemos una copia de seguridad, podríamos omitir la base de datos sqlite3 ajustando esto |
submodules_versioncheck | false |
¿Deberíamos hacer una simple comprobación de versiones para este rol de ansible? |
Opciones para etebase-server.ini
variable | valor | descripción |
---|---|---|
etebase__global_secret_file | {{ etebase__secrets_dir }}/secret.txt |
ruta de secret.txt |
etebase__global_debug | false |
Establecer debug en true |
etebase__global_static_root | {{ etebase__user_home }}/static_root |
Ruta de la raíz estática |
etebase__global_media_root | {{ etebase__user_home }}/media_root |
Ruta para medios |
etebase__global_extra | Variable para parámetros adicionales en la sección [global] del archivo de configuración |
|
etebase__allowed_hosts_allowed_host1 | * |
El host permitido para este servidor etebase |
etebase__allowed_hosts_extra | Variable para parámetros adicionales en la sección [allowed_hosts] del archivo de configuración |
|
etebase__database_engine | django.db.backends.sqlite3 |
Motor de base de datos |
etebase__database_name | {{ etebase__secrets_dir }}/etebase.db.sqlite3 |
Ruta de la base de datos sqlite3 |
etebase__database_extra | Variable para parámetros adicionales en la sección [database] del archivo de configuración |
|
etebase__database_options_extra | Variable para parámetros adicionales en la sección [database_options] del archivo de configuración |
|
etebase__ldap_extra | Variable para parámetros adicionales en la sección [ldap] del archivo de configuración |
|
etebase__config_extra | Variable para parámetros adicionales al final del archivo de configuración |
Información Adicional
Puedes encontrar más información sobre la configuración del servidor web en github.com/etesync/server/wiki/Production-setup-using-Nginx. Por favor, recuerda el valor que usaste para la variable etebase__socket
, si usaste este rol para iniciar el servidor ASGI uvicorn a través de systemd. Para esto, debes establecer etebase__systemd_setup
en true
.
Debes crear un usuario administrador por ti mismo. Para hacerlo, inicia sesión manualmente como usuario privilegiado, cambia al etebase__user_home
. Entra en el directorio del código de etebase descargado y ejecuta el comando python3 ./manage.py createsuperuser
en el venv:
# ir a la casa de etebase
cd /var/lib/etebase/
# cambiar a la última versión de etebase
ls -l etebase_*
cd etebase_v0.10.0 # versión de ejemplo
# habilitar el último venv
ls -l /var/lib/etebase/venv
source /var/lib/etebase/venv/v0.10.0/bin/activate # versión de ejemplo
# crear nuevo superusuario
python3 ./manage.py createsuperuser
Además, este rol requiere que el usuario de Ansible tenga permiso para ejecutar comandos con privilegios de sudo.
Ejemplo de Playbook
---
- name: Instalar servidor etebase en 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
Requisitos
La colección community.general
es requerida para algunas partes de este rol de Ansible. Puedes instalarla con este comando:
ansible-galaxy collection install -r requirements.yml --upgrade
Contribuciones
No dudes en abrir un problema o (aún mejor) crear una solicitud de extracción.
Ansible role to Setup and Confugure Etebase - The Backend from EteSync 2.0.
ansible-galaxy install l3d.etebase