diff --git a/ansible/README.md b/ansible/README.md index 51caa13c..15f7748f 100644 --- a/ansible/README.md +++ b/ansible/README.md @@ -1,10 +1,11 @@ # Ansible Playbook to install uptime kuma using docker -This playbook comes with three roles +This playbook comes with three tags -1. docker (to install docker) -2. nginx (to install nginx using docker with ssl) -3. uptime kuma (to install uptime kuma using docker) +1. requirements (will install anything needed to make next parts working) +2. docker (to install docker) +3. nginx (to install nginx using docker with ssl) +4. uptime kuma (to install uptime kuma using docker) To see more info see docker-compose, tasks and config files I will try to make this readme better diff --git a/ansible/playbook.yml b/ansible/playbook.yml index e8b54b1e..60140b7a 100644 --- a/ansible/playbook.yml +++ b/ansible/playbook.yml @@ -3,16 +3,17 @@ vars: pip_install_packages: + - name: wheel + - name: pip + state: latest + - name: setuptools + - name: cffi - name: docker + - name: dockerpty docker_compose_version: "v2.0.1" - tasks: - - name: Ensure {{inventory_hostname}} is set as hostname - hostname: - name: "{{inventory_hostname}}" - tags: ["hostname"] - roles: + - {role: requirements, tags: ["docker", "requirements"]} - {role: geerlingguy.docker, tags: ["docker"]} - {role: geerlingguy.pip, tags: ["docker"]} - {role: nginx, tags: ["nginx"]} diff --git a/ansible/roles/nginx/templates/nginx.conf b/ansible/roles/nginx/templates/nginx.conf index 8f5e9312..bc728aa9 100644 --- a/ansible/roles/nginx/templates/nginx.conf +++ b/ansible/roles/nginx/templates/nginx.conf @@ -77,7 +77,7 @@ http { # location ~ (?.+)/$ { # return 302 https://$host$no_slash; # } - proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_pass http://uptime-kuma:3001/; proxy_http_version 1.1; diff --git a/ansible/roles/requirements/tasks/main.yml b/ansible/roles/requirements/tasks/main.yml new file mode 100644 index 00000000..ae23cd2f --- /dev/null +++ b/ansible/roles/requirements/tasks/main.yml @@ -0,0 +1,11 @@ +--- +- name: Ensure {{inventory_hostname}} is set as hostname + hostname: + name: "{{inventory_hostname}}" + tags: ["hostname"] + +- include_tasks: setup-RedHat.yml + when: ansible_os_family == 'RedHat' + +- include_tasks: setup-Debian.yml + when: ansible_os_family == 'Debian' diff --git a/ansible/roles/requirements/tasks/setup-Debian.yml b/ansible/roles/requirements/tasks/setup-Debian.yml new file mode 100644 index 00000000..2e431367 --- /dev/null +++ b/ansible/roles/requirements/tasks/setup-Debian.yml @@ -0,0 +1,9 @@ +- name: Ensure packages for some requirements are installed + apt: + pkg: + - libffi-dev + - libzbar-dev + - libzbar0 + - python3-docopt + update_cache: yes + state: present diff --git a/ansible/roles/requirements/tasks/setup-RedHat.yml b/ansible/roles/requirements/tasks/setup-RedHat.yml new file mode 100644 index 00000000..34d6eb2d --- /dev/null +++ b/ansible/roles/requirements/tasks/setup-RedHat.yml @@ -0,0 +1,9 @@ +- name: Ensure packages for some requirements are installed + dnf: + name: + - libffi-devel + - zbar-devel + - zbar + - python3-docopt + update_cache: yes + state: present