From 19ad2ab711b0e9327eabec3c3ba61ddbdd93084f Mon Sep 17 00:00:00 2001 From: Menno van Leeuwen Date: Tue, 25 Mar 2025 04:12:54 +0100 Subject: [PATCH] feat: add Beszel service deployment and configuration in Ansible --- config/ansible/tasks/servers/server.yml | 2 ++ .../tasks/servers/services/beszel/beszel.yml | 34 +++++++++++++++++++ .../services/beszel/docker-compose.yml.j2 | 18 ++++++++++ .../services/dozzle/docker-compose.yml.j2 | 2 +- 4 files changed, 55 insertions(+), 1 deletion(-) create mode 100644 config/ansible/tasks/servers/services/beszel/beszel.yml create mode 100644 config/ansible/tasks/servers/services/beszel/docker-compose.yml.j2 diff --git a/config/ansible/tasks/servers/server.yml b/config/ansible/tasks/servers/server.yml index d118373..a56fbc0 100644 --- a/config/ansible/tasks/servers/server.yml +++ b/config/ansible/tasks/servers/server.yml @@ -37,3 +37,5 @@ enabled: true - name: dozzle enabled: true + - name: beszel + enabled: true diff --git a/config/ansible/tasks/servers/services/beszel/beszel.yml b/config/ansible/tasks/servers/services/beszel/beszel.yml new file mode 100644 index 0000000..89f6edf --- /dev/null +++ b/config/ansible/tasks/servers/services/beszel/beszel.yml @@ -0,0 +1,34 @@ +--- +- name: Deploy Beszel service + block: + - name: Set Beszel directories + ansible.builtin.set_fact: + beszel_service_dir: "{{ ansible_env.HOME }}/services/beszel" + beszel_data_dir: "/mnt/object_storage/services/beszel" + + - name: Create Beszel directory + ansible.builtin.file: + path: "{{ beszel_service_dir }}" + state: directory + mode: "0755" + + - name: Create Beszel data directory + ansible.builtin.file: + path: "{{ beszel_data_dir }}" + state: directory + mode: "0755" + + - name: Deploy Beszel docker-compose.yml + ansible.builtin.template: + src: docker-compose.yml.j2 + dest: "{{ beszel_service_dir }}/docker-compose.yml" + mode: "0644" + register: beszel_compose + + - name: Stop Beszel service + ansible.builtin.command: docker compose -f "{{ beszel_service_dir }}/docker-compose.yml" down --remove-orphans + when: beszel_compose.changed or beszel_file.changed + + - name: Start Beszel service + ansible.builtin.command: docker compose -f "{{ beszel_service_dir }}/docker-compose.yml" up -d + when: beszel_compose.changed or beszel_file.changed diff --git a/config/ansible/tasks/servers/services/beszel/docker-compose.yml.j2 b/config/ansible/tasks/servers/services/beszel/docker-compose.yml.j2 new file mode 100644 index 0000000..12bbd2d --- /dev/null +++ b/config/ansible/tasks/servers/services/beszel/docker-compose.yml.j2 @@ -0,0 +1,18 @@ +name: monitoring +services: + beszel: + image: 'henrygd/beszel' + restart: unless-stopped + ports: + - '8090:8090' + volumes: + - {{beszel_data_dir}}:/beszel_data + networks: + - beszel-net + - caddy_network + +networks: + beszel-net: + caddy_network: + external: true + name: caddy_default diff --git a/config/ansible/tasks/servers/services/dozzle/docker-compose.yml.j2 b/config/ansible/tasks/servers/services/dozzle/docker-compose.yml.j2 index f6e72bc..952da19 100644 --- a/config/ansible/tasks/servers/services/dozzle/docker-compose.yml.j2 +++ b/config/ansible/tasks/servers/services/dozzle/docker-compose.yml.j2 @@ -1,6 +1,6 @@ +name: monitoring services: dozzle: - container_name: dozzle image: amir20/dozzle:latest volumes: - /var/run/docker.sock:/var/run/docker.sock