From 50a0859318ca78569eb46b0c693bfc6fff3e1442 Mon Sep 17 00:00:00 2001 From: Vojtech Mares Date: Thu, 18 Nov 2021 22:28:40 +0100 Subject: [PATCH] Initial commit - Uptime kuma --- .editorconfig | 13 +++++++++++++ README.md | 1 + ansible.cfg | 9 +++++++++ files/uptime-kuma.service | 24 ++++++++++++++++++++++++ hosts.ini | 2 ++ roles/uptime-kuma/tasks/install.yml | 25 +++++++++++++++++++++++++ roles/uptime-kuma/tasks/main.yml | 6 ++++++ roles/uptime-kuma/tasks/uninstall.yml | 21 +++++++++++++++++++++ servers.yml | 8 ++++++++ 9 files changed, 109 insertions(+) create mode 100644 .editorconfig create mode 100644 README.md create mode 100644 ansible.cfg create mode 100644 files/uptime-kuma.service create mode 100644 hosts.ini create mode 100644 roles/uptime-kuma/tasks/install.yml create mode 100644 roles/uptime-kuma/tasks/main.yml create mode 100644 roles/uptime-kuma/tasks/uninstall.yml create mode 100644 servers.yml diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 0000000..87a0020 --- /dev/null +++ b/.editorconfig @@ -0,0 +1,13 @@ +root = true + +[*] +indent_style = space +indent_size = 2 +charset = utf-8 +trim_trailing_whitespace = true +insert_final_newline = true +end_of_line = lf +max_line_length = null + +[Makefile] +indent_style = tab diff --git a/README.md b/README.md new file mode 100644 index 0000000..686275d --- /dev/null +++ b/README.md @@ -0,0 +1 @@ +# Ansible diff --git a/ansible.cfg b/ansible.cfg new file mode 100644 index 0000000..7b23c89 --- /dev/null +++ b/ansible.cfg @@ -0,0 +1,9 @@ +[defaults] +roles_path = ./roles +inventory = ./hosts.ini + +remote_tmp = $HOME/.ansible/tmp +local_tmp = $HOME/.ansible/tmp + +remote_user = root +pipelining = True diff --git a/files/uptime-kuma.service b/files/uptime-kuma.service new file mode 100644 index 0000000..66a36af --- /dev/null +++ b/files/uptime-kuma.service @@ -0,0 +1,24 @@ +[Unit] +Description=Uptime Kuma (uptime for short) service +After=docker.service +PartOf=docker.service +Requires=docker.service + +[Service] +WorkingDirectory=/srv/uptime-kuma + +User=root +Group=root + +Restart=always +RestartSec=15s + +# Clean up after crashes +ExecStartPre=-/usr/bin/docker rm -f uptime-kuma + +ExecStart=/usr/bin/docker run --name uptime-kuma --rm -v /srv/uptime-kuma/data:/app/data -p 3001:3001 louislam/uptime-kuma:1 + +ExecStop=/usr/bin/docker stop uptime-kuma + +[Install] +WantedBy=docker.service diff --git a/hosts.ini b/hosts.ini new file mode 100644 index 0000000..5e2ba3b --- /dev/null +++ b/hosts.ini @@ -0,0 +1,2 @@ +[baremetal] +koala.vxm.cz diff --git a/roles/uptime-kuma/tasks/install.yml b/roles/uptime-kuma/tasks/install.yml new file mode 100644 index 0000000..bd583d4 --- /dev/null +++ b/roles/uptime-kuma/tasks/install.yml @@ -0,0 +1,25 @@ +--- +- name: create data directory + file: + path: /srv/uptime-kuma/data + state: directory + owner: root + group: root + mode: "0644" + +- name: create unit file + copy: + src: files/uptime-kuma.service + dest: /lib/systemd/system/uptime-kuma.service + owner: root + group: root + mode: "0644" + +- name: enable and start uptime-kuma service + systemd: + name: "uptime-kuma.service" + daemon_reload: true + enabled: true + masked: false + state: started + diff --git a/roles/uptime-kuma/tasks/main.yml b/roles/uptime-kuma/tasks/main.yml new file mode 100644 index 0000000..755f16e --- /dev/null +++ b/roles/uptime-kuma/tasks/main.yml @@ -0,0 +1,6 @@ +--- + +- include: install.yml + when: service_state != "absent" +- include: uninstall.yml + when: service_state == "absent" diff --git a/roles/uptime-kuma/tasks/uninstall.yml b/roles/uptime-kuma/tasks/uninstall.yml new file mode 100644 index 0000000..ce1695c --- /dev/null +++ b/roles/uptime-kuma/tasks/uninstall.yml @@ -0,0 +1,21 @@ +--- +- name: disable and stop uptime-kuma service + systemd: + name: "uptime-kuma.service" + enabled: false + state: stopped + +- name: remove unit uptime-kuma.service + file: + path: /etc/systemd/system/uptime-kuma.service + state: absent + +- name: reload systemd daemon + systemd: + daemon_reload: true + changed_when: false + +- name: delete data directory + file: + path: /srv/uptime-kuma + state: absent diff --git a/servers.yml b/servers.yml new file mode 100644 index 0000000..f41ea3b --- /dev/null +++ b/servers.yml @@ -0,0 +1,8 @@ +--- +- hosts: baremetal + gather_facts: true + become: yes + roles: + - role: uptime-kuma + vars: + service_state: started