commit inicial

This commit is contained in:
Mauro Torrez 2019-04-28 00:34:43 -03:00
parent 6a6d5a0dc1
commit 66577c3c82
4 changed files with 130 additions and 0 deletions

3
defaults/main.yml Normal file
View File

@ -0,0 +1,3 @@
---
kanboard_image_name: i-kanboard
kanboard_container_name: c-kanboard

13
files/Caddyfile Normal file
View File

@ -0,0 +1,13 @@
0.0.0.0
root /srv/app/
gzip
fastcgi /kanboard 127.0.0.1:9000 php
rewrite {
regexp .*
ext /kanboard
to /index.php?{query}
}
log stdout
errors stdout
on startup php-fpm --nodaemonize

24
files/Dockerfile Normal file
View File

@ -0,0 +1,24 @@
FROM php:7.1-fpm
LABEL maintainer="Mauro Torrez <mauro@mau.ro>"
VOLUME /srv/app/data
VOLUME /srv/app/plugins
# Install application dependencies
RUN curl --silent --show-error --fail --location \
--header "Accept: application/tar+gzip, application/x-gzip, application/octet-stream" -o - \
"https://caddyserver.com/download/linux/amd64?plugins=http.expires,http.realip&license=personal" \
| tar --no-same-owner -C /usr/bin/ -xz caddy \
&& chmod 0755 /usr/bin/caddy \
&& /usr/bin/caddy -version \
&& docker-php-ext-install phar curl json zlib xml dom ctype opcache zip iconv \
pdo pdo_mysql pdo_sqlite pdo_pgsql mbstring session bcmath \
gd mcrypt openssl sockets posix ldap simplexml
ADD src /srv/app
ADD docker/Caddyfile /etc/Caddyfile
WORKDIR /srv/app/
RUN chown -R www-data:www-data /srv/app
CMD ["/usr/bin/caddy", "--conf", "/etc/Caddyfile", "--log", "stdout"]

90
tasks/main.yml Normal file
View File

@ -0,0 +1,90 @@
---
# - 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: 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: "{{ latest.tarball_url }}"
dest: /tmp/build.kanboard/src
register: dl
- 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