summaryrefslogtreecommitdiff
path: root/playbooks.d/webserver-nginx
diff options
context:
space:
mode:
authorPatrick Spek <p.spek@tyil.nl>2022-05-09 11:41:35 +0200
committerPatrick Spek <p.spek@tyil.nl>2022-05-09 11:41:35 +0200
commitfb3d7ddfab881251c0d6d9470aa13267521d81d9 (patch)
treea0d4f80583882eec630568cda0b97dbc2964f236 /playbooks.d/webserver-nginx
parent430e75156d7789e889dafe44e90b28ddff3516a1 (diff)
Add goaccess
Diffstat (limited to 'playbooks.d/webserver-nginx')
-rw-r--r--playbooks.d/webserver-nginx/etc/defaults1
-rw-r--r--playbooks.d/webserver-nginx/playbook.bash8
-rw-r--r--playbooks.d/webserver-nginx/share/goaccess.service14
3 files changed, 23 insertions, 0 deletions
diff --git a/playbooks.d/webserver-nginx/etc/defaults b/playbooks.d/webserver-nginx/etc/defaults
index f9ef6fc..c9e6ac3 100644
--- a/playbooks.d/webserver-nginx/etc/defaults
+++ b/playbooks.d/webserver-nginx/etc/defaults
@@ -1,4 +1,5 @@
pkg.certbot=certbot
+pkg.goaccess=goaccess
pkg.logrotate=logrotate
pkg.nginx=nginx
diff --git a/playbooks.d/webserver-nginx/playbook.bash b/playbooks.d/webserver-nginx/playbook.bash
index 03e4271..20dcd14 100644
--- a/playbooks.d/webserver-nginx/playbook.bash
+++ b/playbooks.d/webserver-nginx/playbook.bash
@@ -5,6 +5,7 @@ playbook_add()
info "webserver/add" "Installing packages"
pkg install \
certbot \
+ goaccess \
logrotate \
nginx
@@ -54,6 +55,13 @@ playbook_sync()
group="$(config "nginx.group")" \
> "$(config "fs.etcdir")/logrotate.d/nginx"
+ notice "$BASHTARD_PLAYBOOK" "Configure goaccess service"
+ mkdir -pv /etc/systemd/system
+ file_template "goaccess.service" \
+ user="$(config "nginx.user")" \
+ group="$(config "nginx.group")" \
+ > "/etc/systemd/system/goaccess@.service"
+
notice "webserver/sync" "Updating nginx.conf"
file_template "nginx.conf" \
etc="$(config "fs.etcdir")" \
diff --git a/playbooks.d/webserver-nginx/share/goaccess.service b/playbooks.d/webserver-nginx/share/goaccess.service
new file mode 100644
index 0000000..30a9478
--- /dev/null
+++ b/playbooks.d/webserver-nginx/share/goaccess.service
@@ -0,0 +1,14 @@
+[Unit]
+Description = goaccess service for nginx log analytics
+After = network.target
+
+[Service]
+Type = simple
+User = ${user}
+Group = ${group}
+Restart = always
+RuntimeDirectory = goaccess
+ExecStart = sh -c "goaccess -a -f /var/log/nginx/access/%i* -o %t/%i.html --real-time-html --ws-url %i"
+
+[Install]
+WantedBy = multi-user.target