diff options
| author | Joe Carstairs <me@joeac.net> | 2026-08-26 09:28:38 +0100 |
|---|---|---|
| committer | Joe Carstairs <me@joeac.net> | 2026-08-26 09:28:38 +0100 |
| commit | 7a17fe4dcee235b5973326c6daedebccc2de41d2 (patch) | |
| tree | 781a901efbfdda4a5e170547669715cf92854888 /roles/nginx | |
| parent | 1837f2c9b1a00ce2d50ebb5f8c63032993a5d000 (diff) | |
nginx auto-updates
Diffstat (limited to 'roles/nginx')
| -rw-r--r-- | roles/nginx/files/update_nginx | 18 | ||||
| -rw-r--r-- | roles/nginx/tasks/main.yml | 27 |
2 files changed, 45 insertions, 0 deletions
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 |
