--- - 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: redis_port: 0 # NextCloud nextcloud_hostname: nextcloud_admin_user: nextcloud_admin_pass: nextcloud_preview_concurrency: nextcloud_preview_max_memory: nextcloud_preview_jpeg_quality: 75 nextcloud_preview_max_size: 1280 nextcloud_loglevel: 3 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" apt: name: nginx-full certbot python3-certbot-nginx status: latest - name: "Install PHP" apt: name: php8.2 php8.2-fpm php8.2-gmp php8.2-bz2 php-bcmath php8.2-intl php8.2-mbstring php8.2-apcu php8.2-xml php8.2-redis php8.2-curl php8.2-zip php8.2-pgsql php8.2-gd php8.2-bcmath php8.2-imagick php8.2-common libmagickcore-6.q16-6-extra imagemagick ffmpeg status: latest - name: "Install Redis" apt: name: redis-server status: latest - name: "Install PostgreSQL" apt: name: postgresql status: latest - 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