l3d.etebase

Ansible Galaxy MIT License Mantenimiento

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.

Acerca del proyecto

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

Instalar
ansible-galaxy install l3d.etebase
Licencia
mit
Descargas
654
Propietario
Ansible roles provide a framework for fully independent, or interdependent collections of variables,tasks,files,templates &modules. Here we maintain some. enjoy