#################################################
# DO Community Playbooks: Docker
#################################################
---
- hosts: all
  become: true
  vars_files:
    - vars/default.yml

  tasks:
    - name: Pull Wekan image
      docker_image:
        name: "{{ container_image }}"
        source: pull

    - name: Create bitwarden container
      docker_container:
        name: "{{ container_name }}"
        image: "{{ container_image }}"
        state: started
        restart_policy: "unless-stopped"
        env:
          MONGO_URL: "{{ db_url }}"
          ROOT_URL: "{{ root_url }}"
          MAIL_URL: "{{ mail_url }}"
          MAIL_FROM: "{{ mail_from }}"
        links: "mongo:db"
        published_ports:
          - 127.0.0.1:8881:8080
        volumes:
          - /var/lib/bitwarden/data:/data/

    - name: Check if Nginx conf file exists
      stat: path="/etc/nginx/sites-available/{{ http_conf }}"
      register: status

    - name: No need to reload Nginx
      debug: msg= {{ "No need to reload Nginx as sites-available entries have already been created" }}

    - name: Set Nginx conf file
      when: status.stat.exists == false
      template:
        src: "files/nginx.conf.j2"
        dest: "/etc/nginx/sites-available/{{ http_conf }}"

    - name: Enable new site
      when: status.stat.exists == false
      file:
        src: "/etc/nginx/sites-available/{{ http_conf }}"
        dest: "/etc/nginx/sites-enabled/{{ http_conf }}"
        state: link
      notify: Reload Nginx

  handlers:
    - name: Reload Nginx
      service:
        name: nginx
        state: reloaded