2019-04-28 01:48:02 -03:00

103 lines
2.7 KiB
YAML

---
# - 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|regex_replace('^v') }}
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