--- - hosts: all become: yes vars: # IO schedulers iosched_nvme: none iosched_ssd: kyber iosched_mmc: kyber iosched_hdd: bfq # PHP php_memory_limit: 512 php_max_upload_size: 4096M php_opcache_memory: 256 php_opcache_string_buffer: 16 php_opcache_revalidate: 900 php_pm_mode: ondemand php_pm_max_children: 16 # PostgreSQL postgres_db_name: nextclouddb postgres_db_user: nextclouduser postgres_db_password: testis postgres_shared_buffers: 128 postgres_work_mem: 8 postgres_temp_buffers: 16 # Redis redis_memory: redis_port: 0 # NextCloud nextcloud_hostname: _ nextcloud_admin_user: admin nextcloud_admin_pass: admin nextcloud_preview_concurrency: 4 nextcloud_preview_max_memory: 256 nextcloud_preview_jpeg_quality: 75 nextcloud_preview_max_resolution: 1280 nextcloud_loglevel: 3 tasks: - set_fact: myrounded: "{{ 2 ** (mynumber|int - 1).bit_length() }}" - debug: msg: - "{{ myrounded }}" - 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 io schedulers" ansible.builtin.template: src: ../templates/io-scheduler.j2 dest: /etc/udev/rules.d/60-io-scheduler.rules - name: "Configure powesaving 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