aboutsummaryrefslogtreecommitdiffstats
path: root/roles/radicale/tasks/main.yml
diff options
context:
space:
mode:
Diffstat (limited to 'roles/radicale/tasks/main.yml')
-rw-r--r--roles/radicale/tasks/main.yml65
1 files changed, 65 insertions, 0 deletions
diff --git a/roles/radicale/tasks/main.yml b/roles/radicale/tasks/main.yml
new file mode 100644
index 0000000..dbd6839
--- /dev/null
+++ b/roles/radicale/tasks/main.yml
@@ -0,0 +1,65 @@
+---
+# NOTE: Radicale requires nginx.
+
+- name: install packages
+ pkgng:
+ name: "{{ item }}"
+ state: present
+ with_items:
+ # - py36-radicale2
+ - uwsgi-py36
+
+- name: create data directory
+ file:
+ path: "{{ radicale.home }}"
+ state: directory
+ owner: radicale
+ group: radicale
+ mode: 0700
+
+- name: generate config file
+ template:
+ src: config.j2
+ dest: "{{ radicale.etcdir }}/config"
+ notify: reload-radicale
+
+- name: copy extra config files
+ copy:
+ src: "{{ item }}"
+ dest: "{{ radicale.etcdir }}/{{ item | basename }}"
+ with_items:
+ - logging
+ - rights
+ notify: reload-radicale
+
+- name: copy gitignore for storage
+ copy:
+ src: _gitignore
+ dest: "{{ radicale.home }}/.gitignore"
+
+- name: create nginx auth/ dirctory
+ file:
+ path: /usr/local/etc/nginx/auth
+ state: directory
+
+- name: generate passwd for nginx
+ template:
+ src: radicale.passwd.j2
+ dest: /usr/local/etc/nginx/auth/radicale.passwd
+ group: www
+ mode: 0440
+ notify: reload-nginx
+
+- name: setup uwsgi in rc.conf
+ blockinfile:
+ path: /etc/rc.conf
+ marker: "# {mark} ANSIBLE MANAGED - uwsgi/radicale"
+ block: |
+ uwsgi_profiles="${uwsgi_profiles} radicale"
+ uwsgi_radicale_socket="/var/run/uwsgi-radicale.sock"
+ uwsgi_radicale_uid="radicale"
+ uwsgi_radicale_gid="radicale"
+ uwsgi_radicale_flags="-L --env RADICALE_CONFIG={{ radicale.etcdir }}/config --plugin python --wsgi-file {{ radicale.wwwdir }}/radicale.wsgi"
+
+- name: enable and start uwsgi
+ command: rcenable uwsgi