From 93876ad444f7be9d256ade62f7522f34d4eae053 Mon Sep 17 00:00:00 2001 From: Preston Hunter Date: Sun, 28 Dec 2025 10:57:15 -0500 Subject: [PATCH] refactor(nomad): Centralize DNS configuration for AI frontends Moves DNS server and search domain configuration from task `config` blocks to the job/group `network` blocks for `ai-frontend` (OpenWebUI) and `lobechat`. This refactoring centralizes DNS settings for all tasks within a Nomad job or group, ensuring consistent DNS resolution and aligning with recommended Nomad configuration patterns. --- stacks/ai/ai-frontend.nomad | 57 ++++++++++++++++++++----------------- 1 file changed, 31 insertions(+), 26 deletions(-) diff --git a/stacks/ai/ai-frontend.nomad b/stacks/ai/ai-frontend.nomad index ef222e0..6ddc087 100644 --- a/stacks/ai/ai-frontend.nomad +++ b/stacks/ai/ai-frontend.nomad @@ -9,23 +9,30 @@ job "ai-frontend" { constraint { attribute = "${attr.unique.hostname}" - value = "hp1-home" + value = "hp1-home" } network { - port "http" { - static = 8080 + port "http" { + static = 8080 to = 8080 } + + # ✅ DNS Moved Here + dns { + servers = ["192.168.1.133"] + searches = ["service.consul"] + } } service { name = "openwebui" port = "http" tags = ["traefik.enable=true"] + check { type = "http" - path = "/health" # OpenWebUI actually HAS this endpoint + path = "/health" interval = "20s" timeout = "2s" } @@ -33,7 +40,7 @@ job "ai-frontend" { task "server" { driver = "podman" - + env { OLLAMA_BASE_URL = "http://ollama.service.consul:11434" } @@ -44,15 +51,12 @@ job "ai-frontend" { volumes = [ "/mnt/local-ssd/nomad/stacks/ai/ai-frontend/openwebui:/app/backend/data" ] - - # DNS Fix - dns_servers = ["192.168.1.133"] - dns_search = ["service.consul"] + # Removed invalid dns_servers/dns_search from here } - - resources { + + resources { cpu = 1000 - memory = 1024 + memory = 1024 } } } @@ -60,29 +64,33 @@ job "ai-frontend" { # --- LobeChat --- group "lobechat" { count = 1 - + constraint { attribute = "${attr.unique.hostname}" value = "hp1-home" } network { - port "http" { - static = 3210 + port "http" { + static = 3210 to = 3210 } + + # ✅ DNS Moved Here + dns { + servers = ["192.168.1.133"] + searches = ["service.consul"] + } } service { name = "lobechat" port = "http" tags = ["traefik.enable=true"] - - # --- THE FIX --- - # Changed from /api/health to / (Root) + check { type = "http" - path = "/" + path = "/" interval = "20s" timeout = "2s" } @@ -90,7 +98,7 @@ job "ai-frontend" { task "server" { driver = "podman" - + env { OLLAMA_PROXY_URL = "http://ollama.service.consul:11434" ACCESS_CODE = "securepassword123" @@ -99,15 +107,12 @@ job "ai-frontend" { config { image = "docker.io/lobehub/lobe-chat:v1.143.0" ports = ["http"] - - # DNS Fix - dns_servers = ["192.168.1.133"] - dns_search = ["service.consul"] + # Removed invalid dns_servers/dns_search from here } - + resources { cpu = 500 - memory = 1024 + memory = 1024 } } }