From 6f1258232cea9a41b01d78352555e7fab6fd054d Mon Sep 17 00:00:00 2001 From: Jake Howard Date: Sun, 8 Mar 2020 16:41:13 +0000 Subject: [PATCH] Install statping --- .../docker/files/statping/docker-compose.yml | 24 ++++++++++++++ .../docker/files/traefik/file-provider.yml | 5 +-- ansible/roles/docker/tasks/main.yml | 3 ++ ansible/roles/docker/tasks/statping.yml | 31 +++++++++++++++++++ 4 files changed, 61 insertions(+), 2 deletions(-) create mode 100644 ansible/roles/docker/files/statping/docker-compose.yml create mode 100644 ansible/roles/docker/tasks/statping.yml diff --git a/ansible/roles/docker/files/statping/docker-compose.yml b/ansible/roles/docker/files/statping/docker-compose.yml new file mode 100644 index 0000000..57d4a74 --- /dev/null +++ b/ansible/roles/docker/files/statping/docker-compose.yml @@ -0,0 +1,24 @@ +version: '3' + +services: + statping: + image: hunterlong/statping:v0.80.70 + container_name: statping + restart: unless-stopped + volumes: + - ./statping:/app + dns: "{{ wireguard.clients.intersect.ip }}" + labels: + - "traefik.enable=true" + - "traefik.http.routers.statping.rule=Host(`stats.theorangeone.net`)" + - "traefik.http.routers.statping.tls=true" + - "traefik.http.routers.statping.tls.certresolver=le" + + db: + image: postgres:12-alpine + restart: unless-stopped + volumes: + - ./postgres:/var/lib/postgresql/data + environment: + - POSTGRES_PASSWORD=statping + - POSTGRES_USER=statping diff --git a/ansible/roles/docker/files/traefik/file-provider.yml b/ansible/roles/docker/files/traefik/file-provider.yml index 7eb024a..ac29ca7 100644 --- a/ansible/roles/docker/files/traefik/file-provider.yml +++ b/ansible/roles/docker/files/traefik/file-provider.yml @@ -3,8 +3,9 @@ http: internal-only: ipWhiteList: sourceRange: - - "{{ wireguard.cidr }}" - - "192.168.1.0/24" + - "10.0.0.0/8" + - "172.16.0.0/12" + - "192.168.0.0/16" hsts: redirectScheme: scheme: https diff --git a/ansible/roles/docker/tasks/main.yml b/ansible/roles/docker/tasks/main.yml index a7267bc..b693181 100644 --- a/ansible/roles/docker/tasks/main.yml +++ b/ansible/roles/docker/tasks/main.yml @@ -63,3 +63,6 @@ - name: Install folding-at-home include: folding-at-home.yml + +- name: Install statping + include: statping.yml diff --git a/ansible/roles/docker/tasks/statping.yml b/ansible/roles/docker/tasks/statping.yml new file mode 100644 index 0000000..f8ffc70 --- /dev/null +++ b/ansible/roles/docker/tasks/statping.yml @@ -0,0 +1,31 @@ +- name: Create statping directory + file: + path: '/opt/statping' + state: directory + owner: "{{ docker_user.name }}" + mode: "{{ docker_compose_directory_mask }}" + become: true + become_user: root + +- name: Install statping compose file + template: + src: files/statping/docker-compose.yml + dest: "/opt/statping/docker-compose.yml" + mode: "{{ docker_compose_file_mask }}" + owner: "{{ docker_user.name }}" + validate: /usr/bin/docker-compose -f %s config + register: compose_file + become: true + become_user: root + +- name: Cycle statping container + docker_compose: + project_src: /opt/statping + pull: true + remove_orphans: true + remove_volumes: true + state: "{{ item }}" + when: compose_file.changed + loop: + - absent + - present