l3d.etebase
Ansibleロール EteBase - EteSync 2.0 サーバーバックエンド
EteSyncのバックエンドであるEtebaseをセットアップおよび構成するためのAnsibleロールです -> https://github.com/etesync/server。
詳細
このAnsibleロールは、EteSyncのバックエンドであるEtebaseをインストールおよび構成します。これは、連絡先、カレンダー、タスク、メモを安全に同期するためのソフトウェアです。 このAnsibleロールでは、Etebase用の別のユーザーが作成され、このユーザーのホームディレクトリに最新のEtebaseがダウンロードされます。構成が作成され、指定されたPythonの依存関係が仮想環境にインストールされます。また、オプションでEtebaseをsystemdサービス経由で自動的に開始することも可能です。
このAnsibleロールは、Etebase内にユーザーを作成することはありません。また、ウェブサーバーの構成も作成しません。詳細については、追加情報のセクションをご覧ください。
デフォルト変数
変数 | 値 | 説明 |
---|---|---|
etebase__user | etebase |
Etebase用のUnixユーザー |
etebase__group | etebase |
Etebase用のUnixグループ |
etebase__user_home | /var/lib/etebase |
Etebaseユーザーのホーム |
etebase__shell | /bin/false |
Etebaseユーザーのデフォルトシェル |
etebase__venv_path | {{ etebase__user_home }}/venv |
Etebaseの仮想環境パス |
etebase__socket | /tmp/etebase_server.sock |
Etebaseソケットパス (etebase__systemd_setup がtrue に設定されている場合のみ) |
etebase__package_state | present |
latest に設定すると、必要なシステムおよびpipパッケージを最新バージョンにアップグレードします |
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 |
ウェブサーバーの再起動が必要なsystemdユニット |
etebase__systemd_setup | false |
Etebaseを前述のsystemdソケットでsystemdユニットとして開始するにはtrue に設定します |
etebase__create_backup | false |
Etebaseをアップグレードする前にバックアップを作成するかどうか |
etebase__backup_destination | {{ 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で確認できます。systemd経由でuvicorn ASGIサーバーを起動するためにこのロールを使用した場合は、etebase__socket
変数に使用した値を忘れないでください。このためには、etebase__systemd_setup
をtrue
に設定する必要があります。
管理ユーザーは自分で作成する必要があります。これを行うには、特権ユーザーとして手動でログインし、etebase__user_home
に移動します。ダウンロードしたEtebaseのコードディレクトリに入り、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権限でコマンドを実行できることが必要です。
サンプルプレイブック
---
- 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