--- # - name: install git in host # apt: name=git state=present # - name: checkout kanboard source # git: # repo: https://github.com/kanboard/kanboard.git # dest: /tmp/kanboard-source # - name: find latest tag # command: git describe --abbrev=0 # args: # chdir: /tmp/kanboard-source # register: kb_ver # - name: checkout kanboard source tag {{ kb_ver.stdout }} # git: # repo: https://github.com/kanboard/kanboard.git # dest: /tmp/kanboard-source # version: "{{ kb_ver.stdout }}" - name: build dir file: path: /tmp/build.kanboard/src state: directory - name: find latest release uri: url: https://api.github.com/repos/kanboard/kanboard/releases/latest return_content: yes register: latest - name: download latest release unarchive: src: "https://github.com/kanboard/kanboard/archive/{{ latest.json.tag_name }}.tar.gz" dest: /tmp/build.kanboard/src remote_src: yes register: dl - name: link release dir file: src: /tmp/build.kanboard/src/kanboard-{{ latest.json.tag_name }} path: /tmp/build.kanboard/src/kanboard state: link - name: copy build files copy: src={{ item }} dest=/tmp/build.kanboard/ loop: - Dockerfile - Caddyfile register: cp - name: build image docker_image: path: /tmp/build.kanboard name: "{{ kanboard_image_name }}" tag: "{{ latest.json.tag_name }}" force: "{{ dl is changed or cp is changed }}" register: b_img - name: start container docker_container: image: "{{ kanboard_image_name }}:{{ latest.json.tag_name }}" name: "{{ kanboard_container_name }}" ports: - "10080:80" - "10443:443" volumes: - kanboard_data:/srv/app/data - kanboard_plugins:/srv/app/plugins env: networks: - name: "{{ docker_network_name }}" # - name: copy frontend config # copy: # content: | # location ^~ {{ kanboard_context_root }} { # {% if kanboard_listen_protocol == 'uwsgi' %} # uwsgi_pass {{ kanboard_container_name }}:{{ kanboard_listen_port }}; # include uwsgi_params; # {% else %} # proxy_set_header Host $http_host; # proxy_pass http://{{ kanboard_container_name }}:{{ kanboard_listen_port }}; # {% endif %} # } # dest: "{{ frontend_config_root }}/available/kanboard.conf" # - name: enable frontend config # file: # src: "../available/kanboard.conf" # path: "{{ frontend_config_root }}/enabled-{{ item }}/kanboard.conf" # state: "link" # loop: # - https # register: fe_config # - name: restart frontend # docker_container: # name: "{{ frontend_container_name }}" # restart: yes # when: fe_config is changed