summaryrefslogtreecommitdiff
path: root/ansible/plays/malabaricus-nextcloud.yml
diff options
context:
space:
mode:
Diffstat (limited to 'ansible/plays/malabaricus-nextcloud.yml')
-rw-r--r--ansible/plays/malabaricus-nextcloud.yml112
1 files changed, 112 insertions, 0 deletions
diff --git a/ansible/plays/malabaricus-nextcloud.yml b/ansible/plays/malabaricus-nextcloud.yml
new file mode 100644
index 0000000..7e54c76
--- /dev/null
+++ b/ansible/plays/malabaricus-nextcloud.yml
@@ -0,0 +1,112 @@
+- hosts:
+ - malabaricus
+ become: yes
+ vars:
+ fpm_version: 7.3
+ handlers:
+ - name: systemctl daemon-reload
+ become: yes
+ systemd:
+ daemon_reload: yes
+
+ - name: systemctl restart fpm
+ become: yes
+ systemd:
+ name: "php{{ fpm_version }}-fpm"
+ state: restarted
+ - name: systemctl reload nextcloud-cron.timer
+ become: yes
+ systemd:
+ unit: nextcloud-cron.timer
+ state: reloaded
+ roles:
+ - minio-server
+ - role: nginx
+ nginx__template:
+ - sites-enabled/default
+ - sites-enabled/minio
+ - snippets/nextcloud.conf
+ ipv6: "[::]:80"
+ server_name: minio.trygvis.io
+ tasks:
+ - apt:
+ name:
+ - php-imagick
+ tags: packages,never
+ - tags: nextcloud
+ file:
+ path: /var/www/html/nextcloud/occ
+ mode: ug=rx,o=
+ owner: www-data
+ group: www-data
+ - tags: nextcloud
+ copy:
+ dest: '/etc/php/{{ fpm_version }}/fpm/conf.d/99-nextcloud.ini'
+ content: |
+ opcache.enable=1
+ opcache.enable_cli=1
+ opcache.interned_strings_buffer=8
+ opcache.max_accelerated_files=10000
+ opcache.memory_consumption=128
+ opcache.save_comments=1
+ opcache.revalidate_freq=1
+
+ client_max_body_size 10G;
+ notify: systemctl restart fpm
+ - tags: nextcloud
+ lineinfile:
+ path: '/etc/php/{{ fpm_version }}/fpm/pool.d/www.conf'
+ regexp: '^env\[{{ item.key }}\]'
+ line: 'env[{{ item.key }}] = {{ item.value }}'
+ with_dict:
+ HOSTNAME: '$HOSTNAME'
+ PATH: /usr/sbin:/usr/bin:/sbin:/bin
+ TMP: /tmp
+ TMPDIR: /tmp
+ TEMP: /tmp
+ notify: systemctl restart fpm
+
+ - tags: nextcloud
+ register: service
+ copy:
+ dest: /etc/systemd/system/nextcloud-cron.service
+ content: |
+ [Unit]
+ Description=Nextcloud cron.php job
+
+ [Service]
+ User=www-data
+ ExecStart=/usr/bin/php -f /var/www/html/nextcloud/cron.php
+
+ - tags: nextcloud
+ register: timer
+ copy:
+ dest: /etc/systemd/system/nextcloud-cron.timer
+ content: |
+ [Unit]
+ Description=Run Nextcloud cron.php every 5 minutes
+
+ [Timer]
+ OnBootSec=5min
+ OnUnitActiveSec=5min
+ Unit=nextcloud-cron.service
+
+ [Install]
+ WantedBy=timers.target
+
+ - name: systemctl daemon-reload
+ tags: nextcloud
+ when: timer.changed or service.changed
+ become: yes
+ systemd:
+ daemon_reload: yes
+
+ - name: systemctl enable --now nextcloud-cron.timer
+ tags: nextcloud
+ become: yes
+ systemd:
+ unit: nextcloud-cron.timer
+ enabled: yes
+ state: started
+
+# TODO: comply with warnings from https://malabaricus.trygvis.io/settings/admin/overview