chore(ollama): enhance job specification with new web UI and metrics configuration
This commit is contained in:
parent
bfda1e27f7
commit
4895fdb6e4
1 changed files with 127 additions and 3 deletions
|
@ -1,9 +1,14 @@
|
||||||
job "ollama" {
|
job "ollama" {
|
||||||
|
|
||||||
group "ollama" {
|
group "ollama" {
|
||||||
|
|
||||||
network {
|
network {
|
||||||
|
mode = "bridge"
|
||||||
port "api" {
|
port "api" {
|
||||||
static = 11434
|
to = 11434
|
||||||
|
}
|
||||||
|
port "envoy_metrics" {
|
||||||
|
to = 9102
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -23,7 +28,6 @@ job "ollama" {
|
||||||
config {
|
config {
|
||||||
image = "ollama/ollama:latest"
|
image = "ollama/ollama:latest"
|
||||||
runtime = "nvidia"
|
runtime = "nvidia"
|
||||||
ports = ["api"]
|
|
||||||
|
|
||||||
volumes = [
|
volumes = [
|
||||||
"alloc/data/:/root/.ollama"
|
"alloc/data/:/root/.ollama"
|
||||||
|
@ -43,7 +47,127 @@ job "ollama" {
|
||||||
|
|
||||||
service {
|
service {
|
||||||
provider = "consul"
|
provider = "consul"
|
||||||
port = "api"
|
port = "11434"
|
||||||
|
|
||||||
|
meta {
|
||||||
|
envoy_metrics_port = "${NOMAD_HOST_PORT_envoy_metrics}"
|
||||||
|
}
|
||||||
|
|
||||||
|
connect {
|
||||||
|
sidecar_service {
|
||||||
|
proxy {
|
||||||
|
expose {
|
||||||
|
path {
|
||||||
|
path = "/metrics"
|
||||||
|
protocol = "http"
|
||||||
|
local_path_port = 9102
|
||||||
|
listener_port = "envoy_metrics"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
transparent_proxy {}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
group "open-webui" {
|
||||||
|
|
||||||
|
network {
|
||||||
|
mode = "bridge"
|
||||||
|
port "http" {
|
||||||
|
to = 8080
|
||||||
|
}
|
||||||
|
port "envoy_metrics" {
|
||||||
|
to = 9102
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
ephemeral_disk {
|
||||||
|
migrate = true
|
||||||
|
size = 200
|
||||||
|
}
|
||||||
|
|
||||||
|
task "open-webui" {
|
||||||
|
driver = "docker"
|
||||||
|
|
||||||
|
config {
|
||||||
|
image = "ghcr.io/open-webui/open-webui:main"
|
||||||
|
force_pull = true
|
||||||
|
|
||||||
|
volumes = [
|
||||||
|
"alloc/data/:/app/backend/data"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
|
||||||
|
env {
|
||||||
|
OLLAMA_BASE_URL = "http://ollama-ollama.virtual.consul"
|
||||||
|
}
|
||||||
|
|
||||||
|
resources {
|
||||||
|
cpu = 100
|
||||||
|
memory = 1024
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
service {
|
||||||
|
provider = "consul"
|
||||||
|
port = 8080
|
||||||
|
|
||||||
|
meta {
|
||||||
|
envoy_metrics_port = "${NOMAD_HOST_PORT_envoy_metrics}"
|
||||||
|
}
|
||||||
|
|
||||||
|
connect {
|
||||||
|
sidecar_service {
|
||||||
|
proxy {
|
||||||
|
expose {
|
||||||
|
path {
|
||||||
|
path = "/metrics"
|
||||||
|
protocol = "http"
|
||||||
|
local_path_port = 9102
|
||||||
|
listener_port = "envoy_metrics"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
transparent_proxy {}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
group "open-webui-ingress-group" {
|
||||||
|
|
||||||
|
network {
|
||||||
|
mode = "bridge"
|
||||||
|
port "inbound" {
|
||||||
|
to = 8080
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
service {
|
||||||
|
port = "inbound"
|
||||||
|
tags = [
|
||||||
|
"traefik.enable=true",
|
||||||
|
|
||||||
|
"traefik.http.routers.openwebui.rule=Host(`eos.brmartin.co.uk`)",
|
||||||
|
"traefik.http.routers.openwebui.entrypoints=websecure"
|
||||||
|
]
|
||||||
|
|
||||||
|
connect {
|
||||||
|
gateway {
|
||||||
|
ingress {
|
||||||
|
listener {
|
||||||
|
port = 8080
|
||||||
|
protocol = "http"
|
||||||
|
service {
|
||||||
|
name = "ollama-open-webui"
|
||||||
|
hosts = ["*"]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue