--- - 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: _download_archive until: _download_archive is succeeded retries: 3 delay: 5 - name: decompress nextcloud_exporter command: cmd: "bzip2 -dk nextcloud-exporter.bz2" chdir: /var/tmp creates: /var/tmp/nextcloud-exporter - 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" when: deb_architecture == "amd64" - name: "set deb_architecture alias" set_fact: deb_architecture_alias: "{{ deb_architecture }}" 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: _download_archive until: _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