126 lines
3 KiB
YAML
126 lines
3 KiB
YAML
---
|
|
- 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
|