diff --git a/nextcloud.yml b/nextcloud.yml index e9737b1..c3a6017 100644 --- a/nextcloud.yml +++ b/nextcloud.yml @@ -1,7 +1,14 @@ +- hosts: nextcloud-db + vars_files: + - vault/nextcloud + roles: + - role: nextcloud-db + tags: + - nextcloud-db + - hosts: nextcloud vars_files: - vault/nextcloud roles: - - postgresql-server - apache - nextcloud diff --git a/roles/nextcloud-base/defaults/main.yml b/roles/nextcloud-base/defaults/main.yml new file mode 100644 index 0000000..0669852 --- /dev/null +++ b/roles/nextcloud-base/defaults/main.yml @@ -0,0 +1,4 @@ +nextcloud_db_name: nextcloud +nextcloud_db_host: localhost +nextcloud_db_port: '' +nextcloud_db_user: nextcloud diff --git a/roles/nextcloud-base/tasks/main.yml b/roles/nextcloud-base/tasks/main.yml new file mode 100644 index 0000000..e69de29 diff --git a/roles/nextcloud-db/meta/main.yml b/roles/nextcloud-db/meta/main.yml new file mode 100644 index 0000000..d6fc3f9 --- /dev/null +++ b/roles/nextcloud-db/meta/main.yml @@ -0,0 +1,2 @@ +dependencies: +- nextcloud-base diff --git a/roles/nextcloud-db/tasks/main.yml b/roles/nextcloud-db/tasks/main.yml new file mode 100644 index 0000000..5ed6083 --- /dev/null +++ b/roles/nextcloud-db/tasks/main.yml @@ -0,0 +1,19 @@ +- name: ensure nextcloud database user exists + become: true + become_user: postgres + postgresql_user: + name: '{{ nextcloud_db_user }}' + password: '{{ nextcloud_db_password|d(omit) }}' + state: present + tags: + - postgresql-user + +- name: ensure nextcloud database exists + become: true + become_user: postgres + postgresql_db: + name: nextcloud + owner: nextcloud + state: present + tags: + - postgresql-db diff --git a/roles/nextcloud/meta/main.yml b/roles/nextcloud/meta/main.yml index ff8645c..5804638 100644 --- a/roles/nextcloud/meta/main.yml +++ b/roles/nextcloud/meta/main.yml @@ -1,4 +1,5 @@ dependencies: +- nextcloud-base - role: redis tags: - redis diff --git a/roles/nextcloud/tasks/main.yml b/roles/nextcloud/tasks/main.yml index 213da0b..9bbb04e 100644 --- a/roles/nextcloud/tasks/main.yml +++ b/roles/nextcloud/tasks/main.yml @@ -27,21 +27,6 @@ tags: - always -- name: ensure nextcloud database user exists - become: true - become_user: postgres - postgresql_user: - name: nextcloud - password: '{{ nextcloud_db_password }}' - state: present -- name: ensure nextcloud database exists - become: true - become_user: postgres - postgresql_db: - name: nextcloud - owner: nextcloud - state: present - - name: ensure nextcloud is configured template: src: config.php.j2 diff --git a/roles/nextcloud/templates/config.php.j2 b/roles/nextcloud/templates/config.php.j2 index f3c3a68..094002f 100644 --- a/roles/nextcloud/templates/config.php.j2 +++ b/roles/nextcloud/templates/config.php.j2 @@ -37,12 +37,12 @@ $CONFIG = array ( 'dbtype' => 'pgsql', 'version' => '{{ nc_version }}', 'overwrite.cli.url' => 'https://{{ nextcloud_server_name }}', - 'dbname' => 'nextcloud', - 'dbhost' => 'localhost', - 'dbport' => '', + 'dbname' => '{{ nextcloud_db_name }}', + 'dbhost' => '{{ nextcloud_db_host }}', + 'dbport' => '{{ nextcloud_db_port }}', 'dbtableprefix' => 'oc_', - 'dbuser' => 'nextcloud', - 'dbpassword' => '{{ nextcloud_db_password }}', + 'dbuser' => '{{ nextcloud_db_user }}', + 'dbpassword' => '{{ nextcloud_db_password|d("") }}', 'installed' => true, 'ldapIgnoreNamingRules' => false, 'ldapProviderFactory' => 'OCA\\User_LDAP\\LDAPProviderFactory',