l3d.etebase
Ansible角色 EteBase - EteSync 2.0 服务器后端
这是一个用于设置和配置 EteBase(来自EteSync 2.0)的Ansible角色 -> https://github.com/etesync/server。
详细信息
这个Ansible角色安装并配置 etebase,作为 etesync 的后端。这是一款能够安全同步联系人、日历、任务和笔记的软件! 在这个Ansible角色中,为 etebase 创建了一个单独的用户。最新版本的 etebase 被下载到该用户的主目录下。生成了配置,并且指定的 Python 依赖项被安装在虚拟环境(venv)中。同时,可以选择通过 systemd 服务和 uvicorn 自动启动 etebase。
这个Ansible角色不会在 Etebase 中创建用户,也不会生成 Web 服务器的配置。有关更多信息,请参见 附加信息 部分。
默认变量
变量 | 值 | 描述 |
---|---|---|
etebase__user | etebase |
Etebase 的 Unix 用户 |
etebase__group | etebase |
Etebase 的 Unix 组 |
etebase__user_home | /var/lib/etebase |
Etebase 用户主目录 |
etebase__shell | /bin/false |
Etebase 用户的默认 shell |
etebase__venv_path | {{ etebase__user_home }}/venv |
Etebase 虚拟环境路径 |
etebase__socket | /tmp/etebase_server.sock |
Etebase Socket 路径 (仅在 etebase__systemd_setup 设置为 true 时使用) |
etebase__package_state | present |
设置为 latest 以升级所有 etebase 需要的系统和 pip 包为最新版本 |
etebase__version | latest |
Etebase 版本标签 |
etebase__secrets_dir | {{ etebase__user_home }}/secrets |
存储 etebase 秘密的路径 |
etebase__collectstatic | true |
为 etebase 生成静态文件 |
etebase__restart_webserver | false |
设置为 true 以在配置更改时重新启动 Web 服务器 (需要 etebase__systemd_setup) |
etebase__webserver_service | nginx.service |
哪个 systemd 单元应该重新启动 Web 服务器 |
etebase__systemd_setup | false |
设置为 true 以通过上面配置的 systemd socket 启动 etebase 作为 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 |
将调试设置为真 |
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 获取有关 Web 服务器配置的更多信息。请记住,如果使用该角色通过 systemd 启动 uvicorn ASGI 服务器,要记得你为 etebase__socket
变量使用的值。为此,你需要将 etebase__systemd_setup
设置为 true
。
你需要自己创建一个管理员用户。为此,请以特权用户身份手动登录,切换到 etebase__user_home
。进入下载的 etebase 代码目录,并在虚拟环境中运行 python3 ./manage.py createsuperuser
命令:
# 进入 etebase 主页
cd /var/lib/etebase/
# 切换到最新的 etebase 版本
ls -l etebase_*
cd etebase_v0.10.0 # 示例版本
# 启用最新的虚拟环境
ls -l /var/lib/etebase/venv
source /var/lib/etebase/venv/v0.10.0/bin/activate # 示例版本
# 创建新的超级用户
python3 ./manage.py createsuperuser
顺便提一下,这个角色要求 Ansible 用户被允许使用 sudo 权限执行命令。
示例剧本
---
- name: 在 example.com 上安装 etebase 服务器
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 l3d.etebase