152 lines
4.9 KiB
YAML
152 lines
4.9 KiB
YAML
---
|
|
|
|
- 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: php occ app:install {{ item }}
|
|
args:
|
|
chdir: "{{ nextcloud_dir }}"
|
|
creates: "{{ nextcloud_dir }}/apps/{{ item }}"
|
|
with_items: "{{ nextcloud_apps }}"
|
|
|
|
- name: Set configs via occ
|
|
become: true
|
|
become_user: "{{ webserver_user }}"
|
|
command: php occ config:app:set {{ item }}
|
|
args:
|
|
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: "/tmp/nextcloud-exporter-{{ nextcloud_exporter_version.tag }}-{{ deb_architecture }}.bz2"
|
|
register: _download_archive
|
|
until: _download_archive is succeeded
|
|
retries: 3
|
|
delay: 5
|
|
|
|
- name: decompress nextcloud_exporter binaries
|
|
command:
|
|
cmd: "bzip2 -dk nextcloud-exporter-{{ nextcloud_exporter_version.tag }}-{{ deb_architecture }}.bz2"
|
|
chdir: /tmp
|
|
creates: /tmp/nextcloud-exporter-{{ nextcloud_exporter_version.tag }}-{{ deb_architecture }}
|
|
|
|
- name: Copy nextcloud_exporter
|
|
copy:
|
|
src: "/tmp/nextcloud-exporter-{{ nextcloud_exporter_version.tag }}-{{ deb_architecture }}"
|
|
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: "/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: "/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
|