summaryrefslogtreecommitdiff
path: root/tasks/tbp.yml
diff options
context:
space:
mode:
Diffstat (limited to 'tasks/tbp.yml')
-rw-r--r--tasks/tbp.yml146
1 files changed, 146 insertions, 0 deletions
diff --git a/tasks/tbp.yml b/tasks/tbp.yml
new file mode 100644
index 0000000..6df071a
--- /dev/null
+++ b/tasks/tbp.yml
@@ -0,0 +1,146 @@
+- name: Create certs directory
+ tags:
+ - nginx
+ - tbp
+ file:
+ path: /etc/nginx/certs
+ state: directory
+
+- name: Create vhost directory
+ tags:
+ - nginx
+ - tbp
+ file:
+ path: /etc/nginx/vhost.d
+ state: directory
+
+- name: Create nginxhtml directory
+ tags:
+ - nginx
+ - tbp
+ file:
+ path: /usr/share/nginx/html
+ state: directory
+
+- name: Pull and Start nginx-proxy
+ tags:
+ - nginx
+ - tbp
+ docker_container:
+ name: nginx-proxy
+ image: jwilder/nginx-proxy
+ published_ports:
+ - 80:80
+ - 443:443
+ volumes:
+ - /var/run/docker.sock:/tmp/docker.sock:ro
+ - /etc/nginx/certs:/etc/nginx/certs:ro
+ - /etc/nginx/vhost.d
+ - /usr/share/nginx/html
+ labels:
+ com.github.jrcs.letsencrypt_nginx_proxy_companion.nginx_proxy: "true"
+
+- name: Pull and start nginx letsencrypt companion
+ tags:
+ - nginx
+ - tbp
+ docker_container:
+ name: nginx-letsencrypt
+ image: jrcs/letsencrypt-nginx-proxy-companion
+ volumes:
+ - /etc/nginx/certs:/etc/nginx/certs:rw
+ - /var/run/docker.sock:/var/run/docker.sock:ro
+ volumes_from:
+ - nginx-proxy
+
+- name: Create the tbp user
+ tags: tbp
+ user:
+ name: "{{ tbp_username }}"
+ uid: "{{ tbp_uid }}"
+ createhome: no
+ state: present
+
+- name: create tbp directory on host
+ file:
+ path: /var/tbp
+ owner: "{{ tbp_username }}"
+ group: "{{ tbp_username }}"
+ mode: 0775
+ state: directory
+ tags:
+ - docker
+ - tbp
+
+- name: create tbp visits log
+ file:
+ path: /var/tbp/visits.csv
+ owner: "{{ tbp_username }}"
+ group: "{{ tbp_username }}"
+ mode: 0666
+ state: touch
+ tags:
+ - docker
+ - tbp
+
+- name: create tbp first time visitor log
+ file:
+ path: /var/tbp/firsttime.txt
+ owner: "{{ tbp_username }}"
+ group: "{{ tbp_username }}"
+ mode: 0666
+ state: touch
+ tags:
+ - docker
+ - tbp
+
+- name: get the tbp member roll
+ get_url:
+ dest: /var/tbp/members.csv
+ url: https://thebikeproject.littlegreenlight.com/rptlink/7c83ba52-a75f-4fdb-b5ec-b8f97ec72f3a
+ mode: 0644
+ owner: "{{ tbp_username }}"
+ group: "{{ tbp_username }}"
+ tags:
+ - docker
+ - tbp
+
+- name: Copying docker dir to target
+ synchronize:
+ src: ./docker
+ dest: /
+ tags:
+ - docker
+ - tbp
+
+- name: Build TBP docker container
+ docker_image:
+ name: tbp
+ path: /docker/tbp
+
+- name: Run TBP docker container
+ docker_container:
+ name: tbp
+ image: tbp
+ user: "{{ tbp_uid }}"
+ env:
+ # For nginx-proxy to use.
+ VIRTUAL_HOST: "{{ tbp_server }}"
+ LETSENCRYPT_HOST: "{{ tbp_server }}"
+ LETSENCRYPT_EMAIL: marty@millermart.in
+ LETSENCRYPT_TEST: "{{ letsencrypt_test }}"
+ volumes:
+ - /var/tbp/:/var/www/visitlog
+ tags:
+ - docker
+ - tbp
+- name: Create cronjob to update the member roll
+ cron:
+ name: "Update member rolls"
+ user: "{{ tbp_username }}"
+ hour: "*/6"
+ minute: 15
+ state: present
+ job: curl https://thebikeproject.littlegreenlight.com/rptlink/7c83ba52-a75f-4fdb-b5ec-b8f97ec72f3a -o /var/tbp/members.csv
+ tags: tbp
+