l3d.etebase

Ansible Galaxy MIT License Maintainance

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
许可证
mit
下载
654
拥有者
Ansible roles provide a framework for fully independent, or interdependent collections of variables,tasks,files,templates &modules. Here we maintain some. enjoy