new nextcloud config management

This commit is contained in:
Oli
2023-09-17 21:20:27 +00:00
parent 27d1200dc1
commit b5f1c47c0f
3 changed files with 44 additions and 30 deletions

View File

@@ -4,9 +4,10 @@
lineinfile: lineinfile:
path: "{{ nextcloud_dir }}/.user.ini" path: "{{ nextcloud_dir }}/.user.ini"
line: '{{ item.type }} {{ item.option }} {{ item.value }}' line: '{{ item.type }} {{ item.option }} {{ item.value }}'
create: true
owner: "{{ webserver_user }}" owner: "{{ webserver_user }}"
group: "{{ webserver_group }}" group: "{{ webserver_group }}"
mode: "0644"
create: true
loop: "{{ nextcloud_user_ini }}" loop: "{{ nextcloud_user_ini }}"
- name: Install apps - name: Install apps
@@ -14,24 +15,21 @@
become_user: "{{ webserver_user }}" become_user: "{{ webserver_user }}"
command: command:
cmd: php occ app:install {{ item }} cmd: php occ app:install {{ item }}
args:
chdir: "{{ nextcloud_dir }}" chdir: "{{ nextcloud_dir }}"
creates: "{{ nextcloud_dir }}/apps/{{ item }}" creates: "{{ nextcloud_dir }}/apps/{{ item }}"
ignore_errors: true with_items: "{{ nextcloud_occ_install_app }}"
with_items: "{{ nextcloud_apps }}"
- name: Set configs via occ - name: Set configs via occ
become: true become: true
become_user: "{{ webserver_user }}" become_user: "{{ webserver_user }}"
command: command:
cmd: php occ config:app:set {{ item }} cmd: php occ config:app:set {{ item }}
args:
chdir: "{{ nextcloud_dir }}" chdir: "{{ nextcloud_dir }}"
loop: register: nextcloud_occ_config_app_output
- "preview jpeg_quality --value=60" changed_when: nextcloud_occ_config_app_output.rc != 0
- "previewgenerator squareSizes --value='256 1024'" loop: "{{ nextcloud_occ_config_app }}"
- "previewgenerator widthSizes --value=2048"
- "previewgenerator heightSizes --value=2048"
- "files_trashbin background_job_expire_trash --value=no"
- "files_versions background_job_expire_versions --value=no"
when: not nextcloud_dir_stat.stat.exists when: not nextcloud_dir_stat.stat.exists
- name: Get latest nextcloud_exporter version - name: Get latest nextcloud_exporter version
@@ -48,12 +46,13 @@
nextcloud_exporter_version: "{{ nextcloud_exporter_version | replace('v', '', 1) | trim }}" nextcloud_exporter_version: "{{ nextcloud_exporter_version | replace('v', '', 1) | trim }}"
run_once: true run_once: true
- name: Download nextcloud_exporter {{ nextcloud_exporter_version.tag }} from GitHub - name: "Download nextcloud_exporter from GitHub (v{{ nextcloud_exporter_version.tag }})"
get_url: get_url:
url: "https://github.com/xperimental/nextcloud-exporter/releases/download/\ url: "https://github.com/xperimental/nextcloud-exporter/releases/download/\
v{{ nextcloud_exporter_version.tag }}/nextcloud-exporter-{{ nextcloud_exporter_version.tag }}\ v{{ nextcloud_exporter_version.tag }}/nextcloud-exporter-{{ nextcloud_exporter_version.tag }}\
-{{ deb_architecture }}.bz2" -{{ deb_architecture }}.bz2"
dest: "/var/tmp/nextcloud-exporter.bz2" dest: "/var/tmp/nextcloud-exporter.bz2"
mode: "0644"
register: nextcloud_exporter_download_archive register: nextcloud_exporter_download_archive
until: nextcloud_exporter_download_archive is succeeded until: nextcloud_exporter_download_archive is succeeded
retries: 3 retries: 3
@@ -70,9 +69,9 @@
- name: Copy nextcloud_exporter - name: Copy nextcloud_exporter
copy: copy:
remote_src: true
src: "/var/tmp/nextcloud-exporter" src: "/var/tmp/nextcloud-exporter"
dest: "{{ nextcloud_exporter_install_dir }}/nextcloud_exporter" dest: "{{ nextcloud_exporter_install_dir }}/nextcloud_exporter"
remote_src: true
owner: "{{ nextcloud_exporter_system_user }}" owner: "{{ nextcloud_exporter_system_user }}"
group: "{{ nextcloud_exporter_system_group }}" group: "{{ nextcloud_exporter_system_group }}"
mode: "0755" mode: "0755"
@@ -92,31 +91,32 @@
nextcloud_notify_push_version: "{{ nextcloud_notify_push_version | replace('v', '', 1) | trim }}" nextcloud_notify_push_version: "{{ nextcloud_notify_push_version | replace('v', '', 1) | trim }}"
run_once: true run_once: true
- name: "set deb_architecture alias" - name: Set deb_architecture alias and filename
set_fact: set_fact:
deb_architecture_alias: "x86_64" # noqa: var-naming[no-role-prefix] notify_push_filename: "x86_64-unknown-linux-musl" # noqa: var-naming[no-role-prefix]
when: deb_architecture == "amd64" when: deb_architecture == "amd64"
- name: "set deb_architecture alias" - name: Set deb_architecture alias and filename
set_fact: set_fact:
deb_architecture_alias: "{{ deb_architecture }}" # noqa: var-naming[no-role-prefix] notify_push_filename: "armv7-unknown-linux-musleabihf" # noqa: var-naming[no-role-prefix]
when: deb_architecture != "amd64" when: deb_architecture == "arm64"
- name: Download nextcloud_notify_push {{ nextcloud_notify_push_version.tag }} from GitHub - name: "Download nextcloud_notify_push from GitHub (v{{ nextcloud_notify_push_version.tag }})"
get_url: get_url:
url: "https://github.com/nextcloud/notify_push/releases/download/v{{ nextcloud_notify_push_version.tag }}\ url: "https://github.com/nextcloud/notify_push/releases/download/v{{ nextcloud_notify_push_version.tag }}\
/notify_push-{{ deb_architecture_alias }}-unknown-linux-musl" /notify_push-{{ notify_push_filename }}"
dest: "/var/tmp/notify_push-{{ deb_architecture_alias }}-unknown-linux-musl" dest: "/var/tmp/notify_push"
register: nextcloud_notify_push_download_archive mode: "0700"
until: nextcloud_notify_push_download_archive is succeeded register: nextcloud_notify_push_download_file
until: nextcloud_notify_push_download_file is succeeded
retries: 3 retries: 3
delay: 5 delay: 5
- name: Copy nextcloud_notify_push - name: Copy nextcloud_notify_push
copy: copy:
src: "/var/tmp/notify_push-{{ deb_architecture_alias }}-unknown-linux-musl"
dest: "{{ nextcloud_notify_push_install_dir }}/nextcloud_notify_push-{{ deb_architecture_alias }}"
remote_src: true remote_src: true
src: "/var/tmp/notify_push"
dest: "{{ nextcloud_notify_push_install_dir }}/nextcloud_notify_push"
owner: "{{ webserver_user }}" owner: "{{ webserver_user }}"
group: "{{ webserver_group }}" group: "{{ webserver_group }}"
mode: "0700" mode: "0700"
@@ -146,7 +146,6 @@
- nextcloud_nightlycron.timer - nextcloud_nightlycron.timer
notify: notify:
- Restart {{ item | regex_replace('\..*', '') }} - Restart {{ item | regex_replace('\..*', '') }}
- Restart systemd_exporter
- name: Copy Nextcloud logrotate file - name: Copy Nextcloud logrotate file
template: template:

View File

@@ -10,7 +10,7 @@ Group={{ webserver_user }}
RuntimeDirectory=nextcloud RuntimeDirectory=nextcloud
RuntimeDirectoryMode=0750 RuntimeDirectoryMode=0750
PIDFile=/run/nextcloud/notify_push.pid PIDFile=/run/nextcloud/notify_push.pid
ExecStart = {{ nextcloud_notify_push_install_dir }}/nextcloud_notify_push-{{ deb_architecture_alias }} {{ nextcloud_dir }}/config/config.php ExecStart = {{ nextcloud_notify_push_install_dir }}/nextcloud_notify_push {{ nextcloud_dir }}/config/config.php
Restart=always Restart=always
[Install] [Install]

View File

@@ -72,16 +72,31 @@ nextcloud_user_ini:
option: max_execution_time option: max_execution_time
value: 3600 value: 3600
nextcloud_apps: nextcloud_occ_install_app:
- bruteforcesettings
- calendar - calendar
- contacts - contacts
- external - external
- extract - extract
- groupfolders - groupfolders
- metadata
- notes - notes
- notify_push - notify_push
- suspicious_login
- tables
- tasks - tasks
- twofactor_nextcloud_notification
- twofactor_totp - twofactor_totp
- end_to_end_encryption
nextcloud_occ_config_app:
- "preview jpeg_quality --value=60"
- "previewgenerator squareSizes --value='256 1024'"
- "previewgenerator widthSizes --value=2048"
- "previewgenerator heightSizes --value=2048"
- "files_trashbin background_job_expire_trash --value=no"
- "files_versions background_job_expire_versions --value=no"
- "files max_chunk_size --value 134217728"
nextcloud_exporter_install_dir: "/usr/local/bin" nextcloud_exporter_install_dir: "/usr/local/bin"
nextcloud_exporter_system_group: "node-exporter" nextcloud_exporter_system_group: "node-exporter"