etebase

Ansible Galaxy MIT License Поддержка

Роль Ansible EteBase - Серверный Бэкенд EteSync 2.0

Роль Ansible для установки и настройки Etebase - бэкенда от EteSync 2.0 -> https://github.com/etesync/server.

Подробности

Эта роль Ansible устанавливает и настраивает etebase, бэкенд etesync. Это программное обеспечение для безопасной синхронизации ваших контактов, календарей, задач и заметок! В этой роли Ansible создается отдельный пользователь для etebase. Последний релиз etebase загружается в домашнюю директорию этого пользователя. Создается конфигурация. Установлены указанные зависимости Python в виртуальном окружении (venv). Опционально etebase может автоматически запускаться через службу systemd и uvicorn.

Эта роль Ansible не создает пользователей в Etebase. Конфигурация для веб-сервера также не создается. Больше об этом в разделе Дополнительная информация.

Стандартные переменные

переменная значение описание
etebase__user etebase Unix пользователь для etebase
etebase__group etebase Unix группа для etebase
etebase__user_home /var/lib/etebase Домашняя директория пользователя Etebase
etebase__shell /bin/false Указанный шелл для пользователя Etebase
etebase__venv_path {{ etebase__user_home }}/venv Путь к venv для Etebase
etebase__socket /tmp/etebase_server.sock Путь к сокету Etebase (только если etebase__systemd_setup установлено в true)
etebase__package_state present Установите в latest, чтобы обновить все необходимые системные и pip-пакеты etebase до последней версии
etebase__version latest Тег релиза Etebase
etebase__secrets_dir {{ etebase__user_home }}/secrets Путь для хранения секретов etebase
etebase__collectstatic true Генерировать статические файлы для etebase
etebase__restart_webserver false Установите в true, чтобы перезапустить веб-сервер при изменении конфигурации (необходим etebase__systemd_setup)
etebase__webserver_service nginx.service Какой unit systemd должен быть перезапущен для веб-сервера
etebase__systemd_setup false Установите в true, чтобы запустить etebase как unit systemd с ранее настроенным сокетом systemd
etebase__create_backup false Должна ли эта роль создавать резервную копию перед обновлением etebase
etebase__backup_destionation {{ etebase__user_home }}/backup Директория назначения для резервной копии
etebase__backup_sqlite true Если мы делаем резервную копию, мы могли бы пропустить базу данных sqlite3, переключив это значение
submodules_versioncheck false Должен ли мы делать простой проверку версии для этой роли Ansible

Опции для etebase-server.ini

переменная значение описание
etebase__global_secret_file {{ etebase__secrets_dir }}/secret.txt путь к secret.txt
etebase__global_debug false Установить отладку в true
etebase__global_static_root {{ etebase__user_home }}/static_root Путь к статической корневой директории
etebase__global_media_root {{ etebase__user_home }}/media_root Путь для медиа
etebase__global_extra Переменная для дополнительных параметров в секции [global] конфигурационного файла
etebase__allowed_hosts_allowed_host1 * Разрешенный хост для этого сервера etebase
etebase__allowed_hosts_extra Переменная для дополнительных параметров в секции [allowed_hosts] конфигурационного файла
etebase__database_engine django.db.backends.sqlite3 Движок базы данных
etebase__database_name {{ etebase__secrets_dir }}/etebase.db.sqlite3 Путь к базе данных sqlite3
etebase__database_extra Переменная для дополнительных параметров в секции [database] конфигурационного файла
etebase__database_options_extra Переменная для дополнительных параметров в секции [database_options] конфигурационного файла
etebase__ldap_extra Переменная для дополнительных параметров в секции [ldap] конфигурационного файла
etebase__config_extra Переменная для дополнительных параметров в конце конфигурационного файла

Дополнительная информация

Вы можете найти больше информации о конфигурации веб-сервера на github.com/etesync/server/wiki/Production-setup-using-Nginx. Пожалуйста, запомните значение, которое вы использовали для переменной etebase__socket, если вы использовали эту роль для запуска сервера ASGI uvicorn через systemd. Для этого вам нужно установить etebase__systemd_setup в true.

Вы должны самостоятельно создать администратора. Для этого зайдите вручную как привилегированный пользователь, перейдите в etebase__user_home. Войдите в директорию с загруженным кодом etebase и выполните команду python3 ./manage.py createsuperuser в venv:

# перейти в домашнюю директорию etebase
cd /var/lib/etebase/

# перейти на последнюю версию etebase
ls -l etebase_*
cd etebase_v0.10.0  # пример версии

# активировать последнее venv
ls -l /var/lib/etebase/venv
source /var/lib/etebase/venv/v0.10.0/bin/activate  # пример версии

# создать нового суперпользователя
python3 ./manage.py createsuperuser

Кстати, эта роль требует, чтобы пользователь Ansible имел право выполнять команды с привилегиями sudo.

Пример Playbook

---
- name: Установить сервер etebase на 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

Требования

Для некоторых частей этой роли Ansible требуется коллекция community.general. Вы можете установить ее с помощью этой команды:

ansible-galaxy collection install -r requirements.yml --upgrade

Участие

Не стесняйтесь открывать проблему или (что еще лучше) создавать пулл-реквест.

О проекте

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

Установить
ansible-galaxy install roles-ansible/ansible_role_etebase
Лицензия
mit
Загрузки
645
Владелец
Ansible roles provide a framework for fully independent, or interdependent collections of variables,tasks,files,templates &modules. Here we maintain some. enjoy