From 84c8288bd126dcf873c6985d04c13bae353b1f73 Mon Sep 17 00:00:00 2001 From: Jakob Meier Date: Sun, 9 Jul 2023 07:51:25 +0200 Subject: [PATCH] containers/uptime-kuma: new role A fancy self-hosted monitoring tool https://github.com/louislam/uptime-kuma --- roles/containers/uptime-kuma/README.org | 11 ++++++++ .../containers/uptime-kuma/defaults/main.yml | 4 +++ roles/containers/uptime-kuma/tasks/caddy.yml | 27 +++++++++++++++++++ roles/containers/uptime-kuma/tasks/main.yml | 3 +++ roles/containers/uptime-kuma/tasks/setup.yml | 19 +++++++++++++ run.yml | 5 ++++ 6 files changed, 69 insertions(+) create mode 100644 roles/containers/uptime-kuma/README.org create mode 100644 roles/containers/uptime-kuma/defaults/main.yml create mode 100644 roles/containers/uptime-kuma/tasks/caddy.yml create mode 100644 roles/containers/uptime-kuma/tasks/main.yml create mode 100644 roles/containers/uptime-kuma/tasks/setup.yml diff --git a/roles/containers/uptime-kuma/README.org b/roles/containers/uptime-kuma/README.org new file mode 100644 index 0000000..7beeb54 --- /dev/null +++ b/roles/containers/uptime-kuma/README.org @@ -0,0 +1,11 @@ +* /roles/containers/uptime-kuma +[[https://github.com/louislam/uptime-kuma][Uptime Kuma]] module. + +Before using this, +you probably want to set/edit the following variables +in your ~secret.yml~ (or your unencrypted config): +#+begin_src yaml +uptime_kuma_project_dir: "status" +uptime_kuma_port: 3001 +uptime_kuma_domain: "status.ccw.icu" +#+end_src diff --git a/roles/containers/uptime-kuma/defaults/main.yml b/roles/containers/uptime-kuma/defaults/main.yml new file mode 100644 index 0000000..a0f4ed1 --- /dev/null +++ b/roles/containers/uptime-kuma/defaults/main.yml @@ -0,0 +1,4 @@ +--- +uptime_kuma_project_dir: "status" +uptime_kuma_port: 3001 +uptime_kuma_domain: "status.ccw.icu" diff --git a/roles/containers/uptime-kuma/tasks/caddy.yml b/roles/containers/uptime-kuma/tasks/caddy.yml new file mode 100644 index 0000000..33d3ecb --- /dev/null +++ b/roles/containers/uptime-kuma/tasks/caddy.yml @@ -0,0 +1,27 @@ +--- +- name: Make sure uptime-kuma-caddy reverse proxy config exists + become: true + vars: + domain: "{{ uptime_kuma_domain }}" + port: "{{ uptime_kuma_port }}" + template: + src: ../../../network/caddy/templates/reverse-proxy.template + dest: /etc/caddy/uptime-kuma + validate: caddy validate --adapter caddyfile --config %s + register: projectconfig + +- name: Make sure caddy links to the uptime-kuma config + become: true + lineinfile: + path: /etc/caddy/Caddyfile + search_string: "^import /etc/caddy/uptime-kuma" + line: "import /etc/caddy/uptime-kuma" + validate: caddy validate --adapter caddyfile --config %s + register: caddyconfig + +- name: Restart caddy + become: true + service: + name: caddy + state: restarted + when: projectconfig.changed or caddyconfig.changed diff --git a/roles/containers/uptime-kuma/tasks/main.yml b/roles/containers/uptime-kuma/tasks/main.yml new file mode 100644 index 0000000..415dc21 --- /dev/null +++ b/roles/containers/uptime-kuma/tasks/main.yml @@ -0,0 +1,3 @@ +--- +- include_tasks: setup.yml +- include_tasks: caddy.yml diff --git a/roles/containers/uptime-kuma/tasks/setup.yml b/roles/containers/uptime-kuma/tasks/setup.yml new file mode 100644 index 0000000..b708dde --- /dev/null +++ b/roles/containers/uptime-kuma/tasks/setup.yml @@ -0,0 +1,19 @@ +--- +- name: Ensure woodpecker-project-dir "{{ uptime_kuma_project_dir }}" exists + file: + path: "{{ container_dir }}/{{ uptime_kuma_project_dir }}" + state: directory + recurse: true + +- name: Setup uptime-kuma + docker_container: + name: uptime-kuma + restart_policy: unless-stopped + image: louislam/uptime-kuma:1.22.1-alpine + volumes: + - "{{ container_dir }}\ + /{{ uptime_kuma_project_dir }}\ + /uptime-kuma-data\ + :/app/data" + ports: + - "{{ uptime_kuma_port }}:3001" diff --git a/run.yml b/run.yml index 0125bec..20c4e3f 100644 --- a/run.yml +++ b/run.yml @@ -32,3 +32,8 @@ roles: - role: containers/calckey tags: calckey +- name: setup Uptime Kuma + hosts: all + roles: + - role: containers/uptime-kuma + tags: status -- 2.38.5