: add nextcloud webapps

This commit is contained in:
VC
2025-02-14 16:55:58 +01:00
parent 0a2525f7ad
commit ab2868e2c8
7 changed files with 187 additions and 0 deletions

View File

@@ -0,0 +1,15 @@
---
- name: Create nextcloud db role
become_user: postgres
become: true
community.postgresql.postgresql_user:
name: "{{ nextcloud_pg_role }}"
password: "{{ nextcloud_pg_password }}"
- name: Create nextcloud db
become_user: postgres
become: true
community.postgresql.postgresql_db:
name: "{{ nextcloud_pg_database }}"
owner: "{{ nextcloud_pg_role }}"

View File

@@ -0,0 +1,7 @@
---
- name: Init db
ansible.builtin.include_tasks: db.yml
- name: Install nextcloud
ansible.builtin.include_tasks: nextcloud.yml

View File

@@ -0,0 +1,58 @@
---
- name: Create application directory
ansible.builtin.file:
state: directory
dest: "{{ nextcloud_local_path }}"
owner: root
group: www-data
mode: "0o750"
- name: Install nextcloud application
ansible.builtin.unarchive:
remote_src: true
src: "{{ nextcloud_url }}"
dest: "{{ nextcloud_local_path }}"
owner: root
group: www-data
mode: "a-rwx,u+rwX,g+rX"
extra_opts: ['--strip-components=1']
exclude:
- "data"
- "config/config.php"
- name: Put config file
ansible.builtin.template:
src: "config.php.j2"
dest: "{{ nextcloud_local_path }}/config/config.php"
owner: www-data
group: www-data
mode: "0o640"
- name: Set config dir permissions
ansible.builtin.file:
state: directory
dest: "{{ nextcloud_local_path }}/config"
owner: www-data
group: www-data
mode: "0o750"
- name: Check writable dirs
ansible.builtin.file:
state: directory
dest: "{{ nextcloud_local_path }}/{{ item }}"
owner: root
group: www-data
mode: "g+w"
recurse: true
loop:
- "apps"
- "data"
- name: Run occ upgrade
become: true
become_user: www-data
ansible.builtin.command:
cmd: "php occ upgrade"
chdir: "{{ nextcloud_local_path }}"
changed_when: false

View File

@@ -0,0 +1,60 @@
<?php
$CONFIG = array (
'dbtype' => 'pgsql',
'version' => '{{ nextcloud_version }}',
'dbname' => '{{ nextcloud_pg_database }}',
'dbhost' => 'localhost',
'dbtableprefix' => 'oc_',
'dbuser' => '{{ nextcloud_pg_role }}',
'dbpassword' => '{{ nextcloud_pg_password }}',
'installed' => true,
'instanceid' => '507bf5ef0f4bd',
'theme' => '',
'trusted_domains' =>
array (
0 => '{{ nextcloud_access_url }}',
),
'mail_domain' => 'libertus.eu',
'mail_from_address' => 'nextcloud',
'loglevel' => 1,
'log_type' => 'errorlog',
'secret' => '{{ nextcloud_secret }}',
'trashbin_retention_obligation' => 'auto',
'overwrite.cli.url' => 'https://{{ nextcloud_access_url }}',
'updater.release.channel' => 'stable',
'user_backends' =>
array (
0 =>
array (
'class' => '\\OCA\\UserExternal\\IMAP',
'arguments' =>
array (
0 => 'imap.libertus.eu',
1 => 993,
2 => 'ssl',
),
),
),
'objectstore' =>
array (
'class' => '\\OC\\Files\\ObjectStore\\S3',
'arguments' =>
array (
'bucket' => 'nextcloud-libertus',
'autocreate' => false,
'key' => 'GK7f69982ab6b981b3fa5ec230',
'secret' => '{{ nextcloud_objectstore_secret }}',
'hostname' => 'garage.mateu.be',
'port' => 443,
'use_ssl' => true,
'region' => 'garage',
'use_path_style' => true,
),
),
'maintenance' => false,
'passwordsalt' => '{{ nextcloud_passwordsalt }}',
'app_install_overwrite' =>
array (
0 => 'user_external',
),
);

View File

@@ -0,0 +1,8 @@
---
nextcloud_version: "30.0.6"
nextcloud_url: "https://download.nextcloud.com/server/releases/nextcloud-{{ nextcloud_version }}.tar.bz2"
nextcloud_access_url: "{{ web_hostname | selectattr('type', 'defined') | selectattr('type', '==', 'nextcloud') | map(attribute='host') | first }}"
nextcloud_local_path: "/srv/http/{{ nextcloud_access_url }}"