- name: Stop previous radicale service become: true ansible.builtin.systemd: name: radicale state: stopped enabled: false register: radicale_disable failed_when: > radicale_disable.stderr is defined and "'Unit radicale.service not loaded' not in radicale_disable.stderr" - name: Remove previous radicale user become: true ansible.builtin.user: name: radicale state: absent - name: Remove radicale sudo entry become: true ansible.builtin.file: path: /etc/sudoers.d/10-radicale state: absent - name: Remove radicale virtualenv directory become: true ansible.builtin.file: path: '/usr/local/lib/radicale' state: absent - name: Remove Radicale files become: true ansible.builtin.file: path: '{{ item }}' state: absent loop: - /etc/nginx/radicale - /etc/ssl/localcerts/radicale - /etc/radicale/ - /etc/systemd/system/radicale.service - name: Create Radicale directories become: true ansible.builtin.file: path: '{{ item.path }}' owner: '{{ item.owner }}' group: '{{ item.group }}' mode: '0755' state: directory loop: - path: '{{ radicale_app_dir }}' owner: root group: root - path: '{{ radicale_collection_dir }}' owner: sonny group: sonny - path: '{{ radicale_app_dir }}/nginx.conf.d' owner: sonny group: sonny - name: Copy Radicale docker file become: true ansible.builtin.template: src: 'templates/radicale/dockerfile.j2' dest: '{{ radicale_app_dir }}/Dockerfile' owner: sonny group: sonny mode: '0755' - name: Copy docker compose become: true ansible.builtin.template: src: 'templates/radicale/docker-compose.j2' dest: '{{ radicale_app_dir }}/docker-compose.yml' owner: sonny group: sonny mode: '0755' - name: Copy Radicale configuration become: true ansible.builtin.template: src: 'templates/radicale/conf.j2' dest: '{{ radicale_app_dir }}/config' owner: sonny group: sonny mode: '0755' - name: Copy Radicale user file become: true ansible.builtin.copy: src: 'files/radicale/radicale_users' dest: '{{ radicale_app_dir }}/radicale_users' owner: sonny group: sonny mode: '0750' - name: Copy NGINX configuration become: true ansible.builtin.template: src: 'templates/radicale/nginx.j2' dest: '{{ radicale_app_dir }}/nginx.conf.d/default.conf' owner: sonny group: sonny mode: '0755' - name: Stop current containers community.docker.docker_compose_v2: project_src: '{{ radicale_app_dir }}' state: stopped - name: Pull missing image community.docker.docker_compose_v2: project_src: '{{ radicale_app_dir }}' build: always state: stopped - name: Remove dangling containers community.docker.docker_compose_v2: project_src: '{{ radicale_app_dir }}' remove_orphans: true state: stopped - name: Start container community.docker.docker_compose_v2: project_src: '{{ radicale_app_dir }}' state: present