diff options
Diffstat (limited to 'tasks/tbp.yml')
-rw-r--r-- | tasks/tbp.yml | 146 |
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 + |