- 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