- 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