--- - name: Configure .user.ini lineinfile: path: "{{ nextcloud_dir }}/.user.ini" line: '{{ item.type }} {{ item.option }} {{ item.value }}' create: true owner: "{{ webserver_user }}" group: "{{ webserver_group }}" loop: "{{ nextcloud_user_ini }}" - name: Install apps become: true become_user: "{{ webserver_user }}" command: cmd: php occ app:install {{ item }} chdir: "{{ nextcloud_dir }}" creates: "{{ nextcloud_dir }}/apps/{{ item }}" ignore_errors: true with_items: "{{ nextcloud_apps }}" - name: Set configs via occ become: true become_user: "{{ webserver_user }}" command: cmd: php occ config:app:set {{ item }} chdir: "{{ nextcloud_dir }}" loop: - "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" when: not nextcloud_dir_stat.stat.exists - name: Get latest nextcloud_exporter version github_release: user: xperimental repo: nextcloud-exporter action: latest_release token: "{{ vault_github_token }}" delegate_to: localhost run_once: true register: nextcloud_exporter_version - name: "{{ nextcloud_exporter_version }}" set_fact: nextcloud_exporter_version: "{{ nextcloud_exporter_version | replace ('v', '', 1) | trim }}" run_once: true - name: Download nextcloud_exporter {{ nextcloud_exporter_version.tag }} from GitHub get_url: url: "https://github.com/xperimental/nextcloud-exporter/releases/download/\ v{{ nextcloud_exporter_version.tag }}/nextcloud-exporter-{{ nextcloud_exporter_version.tag }}\ -{{ deb_architecture }}.bz2" dest: "/var/tmp/nextcloud-exporter.bz2" register: nextcloud_exporter_download_archive until: nextcloud_exporter_download_archive is succeeded retries: 3 delay: 5 - name: Decompress nextcloud_exporter command: cmd: "bzip2 -dk nextcloud-exporter.bz2" args: chdir: /var/tmp/ register: nextcloud_exporter_decompress_archive changed_when: nextcloud_exporter_decompress_archive.rc != 0 when: nextcloud_exporter_download_archive.changed # noqa: no-handler - name: Copy nextcloud_exporter copy: src: "/var/tmp/nextcloud-exporter" dest: "{{ nextcloud_exporter_install_dir }}/nextcloud_exporter" remote_src: true owner: "{{ nextcloud_exporter_system_user }}" group: "{{ nextcloud_exporter_system_group }}" mode: "0755" notify: Restart nextcloud_exporter - name: Get latest nextcloud_notify_push version github_release: user: nextcloud repo: notify_push action: latest_release token: "{{ vault_github_token }}" delegate_to: localhost run_once: true register: nextcloud_notify_push_version - name: "{{ nextcloud_notify_push_version }}" set_fact: nextcloud_notify_push_version: "{{ nextcloud_notify_push_version | replace ('v', '', 1) | trim }}" run_once: true - name: "set deb_architecture alias" set_fact: deb_architecture_alias: "x86_64" # noqa: var-naming[no-role-prefix] when: deb_architecture == "amd64" - name: "set deb_architecture alias" set_fact: deb_architecture_alias: "{{ deb_architecture }}" # noqa: var-naming[no-role-prefix] when: deb_architecture != "amd64" - name: Download nextcloud_notify_push {{ nextcloud_notify_push_version.tag }} from GitHub get_url: url: "https://github.com/nextcloud/notify_push/releases/download/v{{ nextcloud_notify_push_version.tag }}\ /notify_push-{{ deb_architecture_alias }}-unknown-linux-musl" dest: "/var/tmp/notify_push-{{ deb_architecture_alias }}-unknown-linux-musl" register: nextcloud_notify_push_download_archive until: nextcloud_notify_push_download_archive is succeeded retries: 3 delay: 5 - name: Copy nextcloud_notify_push 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 owner: "{{ webserver_user }}" group: "{{ webserver_group }}" mode: "0700" notify: Restart nextcloud_notify_push - name: Copy nextcloud_nightlycron template: src: nextcloud_nightlycron.sh.j2 dest: "{{ nextcloud_background_script_dir }}/nextcloud_nightlycron.sh" owner: "{{ webserver_user }}" group: "{{ webserver_group }}" mode: "0700" - name: Copy Nextcloud systemd service file template: src: "{{ item }}.j2" dest: "/etc/systemd/system/{{ item }}" owner: root group: root mode: "0644" loop: - nextcloudcron.service - nextcloudcron.timer - nextcloud_notify_push.service - nextcloud_exporter.service - nextcloud_nightlycron.service - nextcloud_nightlycron.timer notify: - Restart {{ item | regex_replace ('\..*', '') }} - Restart systemd_exporter - name: Copy Nextcloud logrotate file template: src: logrotate.nextcloud.j2 dest: /etc/logrotate.d/nextcloud mode: "0644"