Add kanboard role and server
This commit is contained in:
parent
04f187a140
commit
c585070edc
5
roles/kanboard/handlers/main.yml
Normal file
5
roles/kanboard/handlers/main.yml
Normal file
|
@ -0,0 +1,5 @@
|
|||
- name: restart php-fpm
|
||||
service:
|
||||
name: 'php-fpm{{ php_version }}'
|
||||
state: restarted
|
||||
when: "'handler' not in ansible_skip_tags"
|
49
roles/kanboard/tasks/main.yml
Normal file
49
roles/kanboard/tasks/main.yml
Normal file
|
@ -0,0 +1,49 @@
|
|||
- name: Install packages
|
||||
package:
|
||||
name:
|
||||
- tar # for unpacking the archive
|
||||
- php-pdo_sqlite
|
||||
- php-ctype
|
||||
- php-dom
|
||||
- php-gd
|
||||
- php-json
|
||||
- php-mbstring
|
||||
- php-openssl
|
||||
- php-session
|
||||
- php-simplexml
|
||||
- php-xml
|
||||
- php-zip
|
||||
notify: restart php-fpm
|
||||
|
||||
- name: Create kanboard directory
|
||||
file:
|
||||
path: /srv/http/kanboard
|
||||
state: directory
|
||||
owner: nginx
|
||||
group: nginx
|
||||
|
||||
- name: Check if kanboard should be upgraded
|
||||
lineinfile:
|
||||
path: /srv/http/kanboard/app/constants.php
|
||||
search_string: 'v{{ kanboard_version }}'
|
||||
state: absent
|
||||
check_mode: true
|
||||
changed_when: false
|
||||
register: is_current
|
||||
|
||||
- name: Install or upgrade kanboard
|
||||
when: 'is_current.found|default(0) == 0'
|
||||
unarchive:
|
||||
remote_src: true
|
||||
src: 'https://github.com/kanboard/kanboard/archive/refs/tags/v{{ kanboard_version }}.tar.gz'
|
||||
extra_opts:
|
||||
- '--strip-components=1'
|
||||
dest: /srv/http/kanboard
|
||||
owner: nginx
|
||||
group: nginx
|
||||
|
||||
- name: Create nginx site
|
||||
template:
|
||||
dest: /etc/nginx/http.d/kanboard.conf
|
||||
src: nginx.conf.j2
|
||||
notify: reload nginx
|
26
roles/kanboard/templates/nginx.conf.j2
Normal file
26
roles/kanboard/templates/nginx.conf.j2
Normal file
|
@ -0,0 +1,26 @@
|
|||
server {
|
||||
listen 443 ssl;
|
||||
listen [::]:443 ssl;
|
||||
server_name {{ ([dns_name] + tls_domains|default([])) | join(" ") }};
|
||||
|
||||
http2 on;
|
||||
ssl_certificate /etc/letsencrypt/live/{{ dns_name }}/fullchain.pem;
|
||||
ssl_certificate_key /etc/letsencrypt/live/{{ dns_name }}/privkey.pem;
|
||||
|
||||
client_max_body_size 100M;
|
||||
|
||||
root /srv/http/kanboard;
|
||||
index index.php;
|
||||
|
||||
location ~ ^/data/ { deny all; }
|
||||
|
||||
location ~ \.php$ {
|
||||
try_files $uri $uri/ /doku.php;
|
||||
|
||||
include fastcgi_params;
|
||||
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
|
||||
fastcgi_param REDIRECT_STATUS 200;
|
||||
fastcgi_param HTTPS on;
|
||||
fastcgi_pass unix:/run/php-fpm.socket;
|
||||
}
|
||||
}
|
Loading…
Reference in a new issue