swcc.ansible_nextcloud
Nextcloud Ansibleロール
Nextcloudをnextcloud.comサーバーからインストールします。このロールは、PHP-FPM
でNextcloudを実行することを想定しており、NBZ4live.php-fpm
ロールを依存関係としてインストールします。
例のプレイブック
基本的なプレイブックの例:
- hosts: webservers
roles:
- role: swcc.nextcloud
nextcloud_destination: /home/nextcloud
nextcloud_version: 19.0.3
ロールのパラメータ
変数 | デフォルト | タイプ | 説明 |
---|---|---|---|
nextcloud_version |
20.0.2 |
string |
インストールするNextcloudのバージョン |
nextcloud_destination |
/var/www |
string |
Nextcloudをインストールする場所(ファイルシステムの{{ nextcloud_destination}}/nextcloud/ ディレクトリにインストールされます) |
nextcloud_dir_user |
www-data |
string |
インストールされたディレクトリの所有者となるUnixユーザー |
nextcloud_dir_group |
www-data |
string |
インストールされたディレクトリの所有グループとなるUnixグループ |
nextcloud_php_memory_limit |
512M |
string |
PHPのメモリ制限設定。Nextcloudが推奨するデフォルトは512Mです。 |
nextcloud_config |
{} |
dict |
Nextcloudのconfig/config.php ファイルに設定するキーと値の辞書オブジェクト。内容が有効なPHP値である必要があります。例:文字列は、値をconfig.php ファイルにリテラルとして記載するために"'mystring'" として定義する必要があります。 |
nextcloud_onlyoffice_force_flush_period |
未定義 | string |
https://help.nextcloud.com/t/onlyoffice-data-loss/20586/5 からのハックで、OnlyOfficeの変更を定期的にディスクにフラッシュするためのもの。例:値は300s とすると5分ごとにデータをフラッシュします。 |
_オプション_、バックアップ関連の変数:
変数 | デフォルト | タイプ | 説明 |
---|---|---|---|
nextcloud_backup |
- | object |
Nextcloudインスタンスのデータベースとデータディレクトリの両方をバックアップする場合は、このオブジェクトを定義します。 |
nextcloud_backup.destination_server |
- | string |
すべてのファイルを受信する宛先バックアップサーバー(rsync 経由) |
nextcloud_backup.retention |
7 |
number |
インスタンスに保持するデータベースバックアップの日数 |
nextcloud_backup.directory |
nextcloud_destination + '/nextcloud/data' |
string |
バックアップするNextcloudデータディレクトリのパス |
nextcloud_backup.pg |
- | object |
データベースへの接続詳細。オブジェクトキーの詳細については下記を参照してください。 |
nextcloud_backup.pg.pg_dump_binary |
- | string |
サーバー上のpg_dump バイナリのパス |
nextcloud_backup.pg.host |
localhost |
string |
PostgreSQLデータベースのホスト |
nextcloud_backup.pg.port |
5432 |
string |
PostgreSQLデータベースのポート |
nextcloud_backup.pg.dbname |
nextcloud |
string |
PostgreSQLデータベースの名前 |
nextcloud_backup.pg.username |
nextcloud |
string |
PostgreSQLデータベースのユーザー |
nextcloud_backup.pg.password |
- | string |
PostgreSQLデータベースのパスワード |
⚠️ このロールを実行する前に、依存するphp-fpm ansibleロールのphp-fpm変数も確認してください。⚠️
最も重要なことは、php_fpm_version
変数を設定して実行したいphpのバージョンを確認することです。以下は、ほとんどのニーズに合ったphp-fpm
依存ロールの例の設定です:
php_fpm_version: 7.4
php_fpm_pool_defaults:
pm: dynamic
pm.max_children: 10
pm.start_servers: 2
pm.min_spare_servers: 1
pm.max_spare_servers: 4
php_fpm_pools:
- name: www
user: www-data
group: www-data
listen: "/run/php/php{{ php_fpm_version }}-fpm.sock"
listen.owner: www-data
listen.group: www-data
chdir: /var/www
env:
PATH: "/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin"
TMPDIR: "/tmp"
TMP: "/tmp"
HOSTNAME: "$HOSTNAME"
Ansible使用を簡単にするためのMakefile
将来のAnsible実行を簡単にするために、少し小さなMakefileを書きました。ぜひチェックしてみてください。
*.deb
パッケージをGithubのリリースからダウンロードしてインストールし、ansible-make help
で使用を開始してください。
ライセンス
GPLv3