systemli.etherpad
ansible-role-etherpad
这是一个用于安装、配置和维护 Etherpad Lite 的角色。您可以使用此角色将 Etherpad 配置为使用以下存储解决方案:MySQL(或 MariaDB)、Redis 和 PostgreSQL。
目前只有 MySQL 允许创建用户和数据库。对于 PostgreSQL,这些操作需要您自己执行(如果您想或需要自动化这些任务,可以使用这样的角色:geerlingguy.postgresql)。
此剧本还允许为 Etherpad 安装一些插件:
- ep_delete_after_delay(在延迟后删除一些不活跃的文档)
- ep_headerauth(通过 HTTP 头进行用户身份验证 - 例如,在使用像 LemonLDAP::NG 这样的 SSO 门户时非常有用)
角色变量
该剧本需要特殊配置。您必须设置 etherpad_api_key
!
etherpad_db_type: dirty
此变量用于定义我们希望为 Etherpad 使用什么类型的后端存储(默认值是 dirty,请不要在生产环境中使用此值)。该变量必须设置为以下值之一:dirty、mysql、redis 或 postgres。
etherpad_postgres_database_host: localhost
etherpad_postgres_database_name: etherpad
etherpad_postgres_database_user: etherpad
etherpad_postgres_database_password:
etherpad_postgres_database_port: 5432
etherpad_postgres_database_ssl_policy: "disabled"
这些变量允许使用 PostgreSQL 配置 Etherpad。要使用它们,您必须将 etherpad_db_type
设置为 postgres
。
etherpad_headerauth_username_header: x-authenticated-user
etherpad_headerauth_displayname_header: x-authenticated-name
用于 ep_headerauth 插件的配置值(通过 HTTP 头进行身份验证)。如果要使用此插件,etherpad_trust_proxy
和 etherpad_require_authentication
必须设置为 True。
有关可用变量(及其默认值)的更多信息,请参阅 defaults/main.yml
。
示例剧本
- hosts: servers
roles:
- { role: systemli.etherpad }
测试与开发
测试
在开发和测试此角色时,我们使用 Github Actions、Molecule 和 Vagrant。在本地环境中,您可以轻松测试该角色。
本地测试可以运行:
```bash
molecule test
```
需要安装 Molecule、Vagrant 和 python-vagrant
。
许可证
GPLv3