From 0df4ad9e736a082c3ab4085c5ca42c7fd17c432e Mon Sep 17 00:00:00 2001 From: Olivier Navas Date: Fri, 5 Aug 2022 17:31:52 +0200 Subject: [PATCH] Commit initial --- README.md | 29 +++++++++++++++++++++++++++++ defaults/main.yml | 0 handlers/main.yml | 5 +++++ meta/main.yml | 8 ++++++++ tasks/main.yml | 14 ++++++++++++++ templates/docker-compose.yml | 23 +++++++++++++++++++++++ 6 files changed, 79 insertions(+) create mode 100644 README.md create mode 100644 defaults/main.yml create mode 100644 handlers/main.yml create mode 100644 meta/main.yml create mode 100644 tasks/main.yml create mode 100644 templates/docker-compose.yml diff --git a/README.md b/README.md new file mode 100644 index 0000000..ae6c129 --- /dev/null +++ b/README.md @@ -0,0 +1,29 @@ +# Role : docker_uptimekuma + +## Services fournis + +- main.yml : Installation de uptimekuma sur un serveur docker_host + + +## Variables + +Fournir les variables suivantes. Par exemple : + +```yaml +docker_uptimekuma_fqdn: uptimekuma.libretic.fr +docker_uptimekuma_version: 1.17.1-debian +docker_uptimekuma_data_dir: /data1 +docker_uptimekuma_service_id: uptimekuma +``` + +| Option | Valeur par défaut | Description | +|------------------------------|-------------------|--------------------------------------------------------------------------------------------| +| docker_uptimekuma_fqdn | | Le fqdn pour accéder à uptimekuma | +| docker_uptimekuma_version | | Version de l'image uptimekuma | +| docker_uptimekuma_data_dir | | L'emplacement dans lequel se trouvent les volumes de donnees docker pour le service | +| docker_uptimekuma_service_id | | Le nom de service souhaité : conditionne le nommage des dossiers et le routage par traefik | + + +## Configuration de uptimekuma + +A détailler diff --git a/defaults/main.yml b/defaults/main.yml new file mode 100644 index 0000000..e69de29 diff --git a/handlers/main.yml b/handlers/main.yml new file mode 100644 index 0000000..e7fe046 --- /dev/null +++ b/handlers/main.yml @@ -0,0 +1,5 @@ +- name: docker-compose-up + shell: | + docker-compose up -d + args: + chdir: /opt/{{ docker_uptimekuma_service_id }}/ diff --git a/meta/main.yml b/meta/main.yml new file mode 100644 index 0000000..cf6d419 --- /dev/null +++ b/meta/main.yml @@ -0,0 +1,8 @@ +galaxy_info: + author: Olivier Navas + description: Modèle d'installation Libretic pour uptimekuma + license: GPL-3.0-only + min_ansible_version: 2.9 + galaxy_tags: [] + +dependencies: [] diff --git a/tasks/main.yml b/tasks/main.yml new file mode 100644 index 0000000..34102db --- /dev/null +++ b/tasks/main.yml @@ -0,0 +1,14 @@ +- name: docker directory + file: + path: /opt/{{ docker_uptimekuma_service_id }}/ + state: directory + +- name: prepare docker-compose.yml + template: + src: "{{ item }}" + dest: /opt/{{ docker_uptimekuma_service_id }}/ + with_items: + - docker-compose.yml + notify: docker-compose-up + + diff --git a/templates/docker-compose.yml b/templates/docker-compose.yml new file mode 100644 index 0000000..6d9c5ec --- /dev/null +++ b/templates/docker-compose.yml @@ -0,0 +1,23 @@ +# {{ ansible_managed }} + +version: '3.1' + +services: + uptimekuma: + image: louislam/uptime-kuma:{{ docker_uptimekuma_version }} + restart: always + volumes: + - {{ docker_uptimekuma_data_dir }}/{{ docker_uptimekuma_service_id }}/uptimekuma:/app/data + networks: + - traefik + labels: + - "org.label-schema.group=monitoring" + - "traefik.enable=true" + - "traefik.docker.network=traefik" + - "traefik.http.routers.{{ docker_uptimekuma_service_id }}.entrypoints=web" + - "traefik.http.routers.{{ docker_uptimekuma_service_id }}.rule=Host(`{{ docker_uptimekuma_fqdn }}`)" + - "traefik.http.services.{{ docker_uptimekuma_service_id }}.loadbalancer.server.port=3001" + +networks: + traefik: + external: true