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