diff options
Diffstat (limited to 'roles')
| -rw-r--r-- | roles/git/tasks/main.yml | 13 | ||||
| -rw-r--r-- | roles/http/tasks/main.yml | 17 | ||||
| -rw-r--r-- | roles/nginx/files/update_nginx | 18 | ||||
| -rw-r--r-- | roles/nginx/tasks/main.yml | 27 |
4 files changed, 50 insertions, 25 deletions
diff --git a/roles/git/tasks/main.yml b/roles/git/tasks/main.yml index 033400e..fffca7c 100644 --- a/roles/git/tasks/main.yml +++ b/roles/git/tasks/main.yml @@ -1,10 +1,9 @@ -- name: Install cgit, fcgiwrap, git, nginx, and shadow +- name: Install cgit, fcgiwrap, git, and shadow community.general.apk: name: - cgit - fcgiwrap - git - - nginx - shadow - name: Add git group @@ -68,12 +67,6 @@ enabled: true state: started -- name: Remove default nginx site config - register: default_nginx_site - ansible.builtin.file: - path: /etc/nginx/http.d/default.conf - state: absent - - name: Install htpasswd file ansible.builtin.copy: src: htpasswd @@ -99,14 +92,14 @@ state: directory - name: Restart nginx daemon and configure to start on boot - when: default_nginx_site is changed or cgit_nginx_site is changed + when: cgit_nginx_site is changed ansible.builtin.service: name: nginx enabled: true state: restarted - name: Start nginx daemon and configure to start on boot - when: not ( default_nginx_site is changed or cgit_nginx_site is changed ) + when: not ( cgit_nginx_site is changed ) ansible.builtin.service: name: nginx enabled: true diff --git a/roles/http/tasks/main.yml b/roles/http/tasks/main.yml index ad98f6e..f8a0078 100644 --- a/roles/http/tasks/main.yml +++ b/roles/http/tasks/main.yml @@ -1,19 +1,12 @@ -- name: Install composer, make, nginx, PHP, PHP-FPM, and PHP-PDO (SQLITE) +- name: Install composer, make, PHP, PHP-FPM, and PHP-PDO (SQLITE) community.general.apk: name: - composer - make - - nginx - php85-fpm - php85-pdo - php85-pdo_sqlite -- name: Start nginx service and configure to restart on boot - ansible.builtin.service: - name: nginx - enabled: true - state: started - - name: Start PHP-FPM service and configure to restart on boot ansible.builtin.service: name: php-fpm85 @@ -41,12 +34,6 @@ name: php-fpm85 state: restarted -- name: Remove default nginx site config - register: default_nginx_site_config - ansible.builtin.file: - path: /etc/nginx/http.d/default.conf - state: absent - - name: Install joeac.net nginx site config register: joeacnet_nginx_site_config ansible.builtin.template: @@ -54,7 +41,7 @@ dest: /etc/nginx/http.d/joeac.net.conf - name: Restart nginx service if config changed - when: default_nginx_site_config is changed or joeacnet_nginx_site_config is changed + when: joeacnet_nginx_site_config is changed ansible.builtin.service: name: nginx state: restarted diff --git a/roles/nginx/files/update_nginx b/roles/nginx/files/update_nginx new file mode 100644 index 0000000..cf6ee6f --- /dev/null +++ b/roles/nginx/files/update_nginx @@ -0,0 +1,18 @@ +#!/bin/sh + +apk upgrade + +nginx_pid="$(pgrep nginx:\ master\ process)" +if [ -z "$nginx_pid" ] +then + rc-service nginx restart + exit 0 +fi + +nginx_proc_start_time="$(stat -Lc %Y /proc/${nginx_pid})" +nginx_file_mtime="$(stat -Lc %Y $(which nginx))" + +if [ "$nginx_file_mtime" -gt "$nginx_proc_start_time" ] +then + rc-service nginx restart +fi diff --git a/roles/nginx/tasks/main.yml b/roles/nginx/tasks/main.yml new file mode 100644 index 0000000..591e195 --- /dev/null +++ b/roles/nginx/tasks/main.yml @@ -0,0 +1,27 @@ +- name: Install nginx + community.general.apk: + name: nginx + +- name: Remove default nginx site config + register: default_nginx_site + ansible.builtin.file: + path: /etc/nginx/http.d/default.conf + state: absent + +- name: Start nginx service and configure to restart on boot + ansible.builtin.service: + name: nginx + enabled: true + state: started + +- name: Install script to update nginx + ansible.builtin.template: + src: update_nginx + dest: /usr/bin/update_nginx + mode: "755" + +- name: Install daily crontab to update nginx + ansible.builtin.cron: + special_time: daily + name: Update nginx + job: /usr/bin/update_nginx |
