Add work_queue_webui Ansible role
Some checks failed
Build and Push Docker Image / build-and-push (push) Failing after 1m4s
Some checks failed
Build and Push Docker Image / build-and-push (push) Failing after 1m4s
This commit is contained in:
9
roles/work_queue_webui/defaults/main.yml
Normal file
9
roles/work_queue_webui/defaults/main.yml
Normal file
@@ -0,0 +1,9 @@
|
||||
---
|
||||
work_queue_webui_base_path: "{{ base_config_dir }}/work-queue-webui"
|
||||
work_queue_webui_data_path: "{{ work_queue_webui_base_path }}/data"
|
||||
|
||||
work_queue_webui_image: "git.danhenry.dev/thelab/work-queue-webui:{{ work_queue_webui_image_tag }}"
|
||||
work_queue_webui_image_tag: "latest"
|
||||
|
||||
work_queue_webui_proxy_port: 8081
|
||||
work_queue_webui_container_port: 80
|
||||
5
roles/work_queue_webui/handlers/main.yml
Normal file
5
roles/work_queue_webui/handlers/main.yml
Normal file
@@ -0,0 +1,5 @@
|
||||
---
|
||||
- name: Restart Work Queue WebUI
|
||||
community.docker.docker_compose_v2:
|
||||
project_src: "{{ work_queue_webui_base_path }}"
|
||||
state: restarted
|
||||
3
roles/work_queue_webui/meta/main.yml
Normal file
3
roles/work_queue_webui/meta/main.yml
Normal file
@@ -0,0 +1,3 @@
|
||||
---
|
||||
dependencies:
|
||||
- role: docker
|
||||
34
roles/work_queue_webui/tasks/main.yml
Normal file
34
roles/work_queue_webui/tasks/main.yml
Normal file
@@ -0,0 +1,34 @@
|
||||
---
|
||||
- name: Create Work Queue WebUI directories
|
||||
ansible.builtin.file:
|
||||
path: "{{ item }}"
|
||||
state: directory
|
||||
owner: "{{ docker_uid }}"
|
||||
group: "{{ docker_gid }}"
|
||||
mode: '0755'
|
||||
loop:
|
||||
- "{{ work_queue_webui_base_path }}"
|
||||
- "{{ work_queue_webui_data_path }}"
|
||||
|
||||
- name: Deploy docker-compose.yml
|
||||
ansible.builtin.template:
|
||||
src: docker-compose.yml.j2
|
||||
dest: "{{ work_queue_webui_base_path }}/docker-compose.yml"
|
||||
owner: "{{ docker_uid }}"
|
||||
group: "{{ docker_gid }}"
|
||||
mode: '0600'
|
||||
notify: Restart Work Queue WebUI
|
||||
|
||||
- name: Deploy nginx reverse proxy config
|
||||
ansible.builtin.template:
|
||||
src: nginx.conf.j2
|
||||
dest: "{{ work_queue_webui_base_path }}/nginx.conf"
|
||||
owner: "{{ docker_uid }}"
|
||||
group: "{{ docker_gid }}"
|
||||
mode: '0644'
|
||||
notify: Restart Work Queue WebUI
|
||||
|
||||
- name: Deploy Work Queue WebUI stack
|
||||
community.docker.docker_compose_v2:
|
||||
project_src: "{{ work_queue_webui_base_path }}"
|
||||
state: present
|
||||
24
roles/work_queue_webui/templates/docker-compose.yml.j2
Normal file
24
roles/work_queue_webui/templates/docker-compose.yml.j2
Normal file
@@ -0,0 +1,24 @@
|
||||
---
|
||||
services:
|
||||
webui:
|
||||
image: {{ work_queue_webui_image }}
|
||||
volumes:
|
||||
- {{ work_queue_webui_data_path }}:/app/data
|
||||
restart: unless-stopped
|
||||
healthcheck:
|
||||
test: ["CMD", "wget", "-qO-", "http://localhost:80"]
|
||||
interval: 30s
|
||||
timeout: 10s
|
||||
retries: 3
|
||||
|
||||
proxy:
|
||||
image: nginx:alpine
|
||||
ports:
|
||||
- "{{ work_queue_webui_proxy_port }}:80"
|
||||
volumes:
|
||||
- ./nginx.conf:/etc/nginx/conf.d/default.conf:ro
|
||||
depends_on:
|
||||
webui:
|
||||
condition: service_healthy
|
||||
restart: unless-stopped
|
||||
|
||||
12
roles/work_queue_webui/templates/nginx.conf.j2
Normal file
12
roles/work_queue_webui/templates/nginx.conf.j2
Normal file
@@ -0,0 +1,12 @@
|
||||
server {
|
||||
listen 80;
|
||||
server_name _;
|
||||
|
||||
location / {
|
||||
proxy_pass http://webui:80;
|
||||
proxy_set_header Host $host;
|
||||
proxy_set_header X-Real-IP $remote_addr;
|
||||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||
proxy_set_header X-Forwarded-Proto $scheme;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user