Add kanboard role and server

This commit is contained in:
Timotej Lazar 2024-12-06 13:08:01 +01:00
parent 04f187a140
commit c585070edc
4 changed files with 87 additions and 0 deletions

View file

@ -0,0 +1,5 @@
- name: restart php-fpm
service:
name: 'php-fpm{{ php_version }}'
state: restarted
when: "'handler' not in ansible_skip_tags"

View 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

View 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;
}
}

View file

@ -41,6 +41,13 @@
- nginx-php
- dokuwiki
- hosts: kanboard
roles:
- alpine
- nginx
- nginx-php
- kanboard
- hosts: netbox
roles:
- alpine