--- - name: 'Ensure needed software is installed' become: true ansible.builtin.apt: name: 'podman' state: 'present' update_cache: true cache_valid_time: 3600 - name: 'Prepare network' become: true containers.podman.podman_network: name: '{{ nextcloud_podman_network }}' state: 'present' - name: 'Prepare nextcloud config files location' become: true ansible.builtin.file: path: '/etc/nextcloud' state: 'directory' owner: 'root' group: 'root' mode: 'u=rwx,g=rx,o=rx' - name: 'Create config files for nextcloud' become: true ansible.builtin.template: src: '{{ item.src }}' dest: '{{ item.dest }}' owner: 33 group: 33 mode: '{{ item.mode }}' notify: 'Restart nextcloud-app container' loop: - src: 'nextcloud/oidc.config.php.j2' dest: '/etc/nextcloud/oidc.config.php' mode: 'u=rw,g=r,o=r' - src: 'nextcloud/ansible.config.php.j2' dest: '/etc/nextcloud/ansible.config.php' mode: 'u=rw,g=r,o=r' - src: 'nextcloud/copy_config.sh.j2' dest: '/etc/nextcloud/copy_config.sh' mode: 'u=rwx,g=rx,o=rx' - name: 'Create service files' become: true ansible.builtin.template: src: '{{ item.src }}' dest: '{{ item.dest }}' owner: 'root' group: 'root' mode: 'u=rw,g=r,o=r' notify: '{{ item.notify }}' loop: - src: 'systemd/container-nextcloud-db.service.j2' dest: '/etc/systemd/system/container-nextcloud-db.service' notify: 'Restart nextcloud-db container' - src: 'systemd/container-nextcloud-redis.service.j2' dest: '/etc/systemd/system/container-nextcloud-redis.service' notify: 'Restart nextcloud-redis container' - src: 'systemd/container-nextcloud-cron.service.j2' dest: '/etc/systemd/system/container-nextcloud-cron.service' notify: 'Restart nextcloud-cron container' - src: 'systemd/container-nextcloud-app.service.j2' dest: '/etc/systemd/system/container-nextcloud-app.service' notify: 'Restart nextcloud-app container' - name: 'Start and enable services' become: true ansible.builtin.systemd: name: '{{ item }}' state: 'started' daemon_reload: true enabled: true loop: - 'container-nextcloud-db.service' - 'container-nextcloud-redis.service' - 'container-nextcloud-cron.service' - 'container-nextcloud-app.service' - name: 'Configure apps' become: true enbewe.nextcloud.nextcloud_app: state: '{{ item.key }}' name: '{{ item.value }}' force: true container_name: '{{ nextcloud_app_container_name }}' retries: 30 delay: 10 notify: - 'Restart nextcloud-cron container' - 'Restart nextcloud-app container' loop: '{{ nextcloud_apps | dict2items }}'