103 lines
2.7 KiB
YAML
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
|