--- - hosts: all become: yes vars: # IO schedulers iosched_nvme: none iosched_ssd: kyber iosched_mmc: kyber iosched_hdd: bfq # PHP php_memory_limit: {{ ansible_facts['ansible_memtotal_mb'] // 2 }} php_max_upload_size: 4096M php_opcache_memory: php_opcache_string_buffer: php_opcache_revalidate: 900 php_pm_mode: ondemand php_pm_max_children: # PostgreSQL postgres_db_name: nextclouddb postgres_db_user: nextclouduser postgres_db_password: postgres_shared_buffers: postgres_work_mem: postgres_temp_buffers: # Redis redis_memory: # NextCloud nextcloud_admin_user: nextcloud_admin_pass: nextcloud_preview_concurrent: tasks: - name: "Update cache & Full system update" apt: update_cache: true upgrade: dist cache_valid_time: 3600 force_apt_get: true - name: "Install system basics" apt: name: apt-transport-https lsb-release ca-certificates curl sudo wget zip hdparm status: latest - name: "Configure powesaving rules and io schedulers" ansible.builtin.template: src: ../templates/io-scheduler.j2 dest: /etc/udev/rules.d/60-io-scheduler.rules ansible.builtin.copy: src: ../templates/disk-power.rules dest: /etc/udev/rules.d/65-disk-power.rules - name: "Install Nginx" - name: "Install PHP" - name: "Install Redis" - name: "Install PostgreSQL" - name: "Create Nextcloud user" ansible.builtin.user: name: nextcloud groups: nextcloud redis postgres www-data home: /var/lib/nextcloud - name: "Download and extract Nextcloud" ansible.builtin.unarchive: src: https://download.nextcloud.com/server/releases/latest.zip dest: /nextcloud/ remote_src: yes owner: nextcloud group: nextcloud