etebase
Роль 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