diff --git a/Ansible/grafana-docker.yml b/Ansible/grafana-docker.yml new file mode 100644 index 0000000..31dea3a --- /dev/null +++ b/Ansible/grafana-docker.yml @@ -0,0 +1,38 @@ +- hosts: grafana + remote_user: bhays + become: true + become_user: root + tasks: + - name: Update package cache + apt: + update_cache: yes + tags: docker + - name: Install Docker + apt: + name: docker + state: latest + tags: docker + - name: Ensure Docker service is enabled and started + systemd: + name: docker + state: started + enabled: yes + tags: docker + - name: Add 'bhays' user to Docker group + user: + name: bhays + groups: docker + append: yes + tags: docker + - name: Copy grafana-docker.sh to home directory + copy: + src: ../Bash/grafana-docker.sh + dest: /home/bhays/grafana-docker.sh + owner: bhays + group: bhays + mode: '0755' + tags: grafana + - name: Execute grafana-docker.sh as root with bash + command: + cmd: /bin/bash /home/bhays/grafana-docker.sh + tags: grafana \ No newline at end of file diff --git a/Ansible/inventory.ini b/Ansible/inventory.ini index 1f9f15d..19635d9 100644 --- a/Ansible/inventory.ini +++ b/Ansible/inventory.ini @@ -6,4 +6,12 @@ 10.0.1.12 10.0.1.13 10.0.1.14 -10.0.1.15 \ No newline at end of file +10.0.1.15 + +[webservers] +10.0.1.15 +10.0.1.2 + +[grafana] +10.0.1.2 + diff --git a/Bash/grafana-docker.sh b/Bash/grafana-docker.sh new file mode 100644 index 0000000..c6cb36e --- /dev/null +++ b/Bash/grafana-docker.sh @@ -0,0 +1,15 @@ +#!/bin/bash + +# Check if port 3000 is open +if lsof -Pi :3000 -sTCP:LISTEN -t >/dev/null ; then + echo "Port 3000 is already in use. Stopping existing Grafana instance..." + docker stop grafana +else + # Create a Docker volume for Grafana storage + docker volume create grafana-storage +fi + +# Run Grafana container +docker run -d -p 3000:3000 --name=grafana \ + --volume grafana-storage:/var/lib/grafana \ + grafana/grafana-enterprise \ No newline at end of file