Add work_queue_webui Ansible role
Some checks failed
Build and Push Docker Image / build-and-push (push) Failing after 1m4s

This commit is contained in:
Lennie S.
2026-04-12 00:35:50 +00:00
parent 20baf040fb
commit 39c299d926
6 changed files with 87 additions and 0 deletions

View 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

View File

@@ -0,0 +1,5 @@
---
- name: Restart Work Queue WebUI
community.docker.docker_compose_v2:
project_src: "{{ work_queue_webui_base_path }}"
state: restarted

View File

@@ -0,0 +1,3 @@
---
dependencies:
- role: docker

View 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

View 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

View 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;
}
}