50 lines
961 B
Terraform
50 lines
961 B
Terraform
data "docker_registry_image" "open-webui" {
|
|
name = "ghcr.io/open-webui/open-webui:main"
|
|
}
|
|
|
|
resource "docker_image" "open-webui" {
|
|
name = data.docker_registry_image.open-webui.name
|
|
pull_triggers = [data.docker_registry_image.open-webui.sha256_digest]
|
|
}
|
|
|
|
resource "docker_network" "ai" {
|
|
name = "ai"
|
|
}
|
|
resource "docker_container" "open-webui" {
|
|
image = docker_image.open-webui.image_id
|
|
name = "open-webui"
|
|
restart = "always"
|
|
|
|
memory = 2000
|
|
memory_swap = 2000
|
|
|
|
log_driver = "local"
|
|
|
|
env = [
|
|
"ENABLE_OPENAI_API=true",
|
|
"OPENAI_API_BASE_URL=http://172.20.0.51:1234/v1"
|
|
]
|
|
|
|
mounts {
|
|
target = "/app/backend/data"
|
|
source = "/var/lib/containers/open-webui"
|
|
type = "bind"
|
|
}
|
|
|
|
networks_advanced {
|
|
name = docker_network.container-public.name
|
|
ipv4_address = "192.168.3.14"
|
|
}
|
|
|
|
networks_advanced {
|
|
name = docker_network.ai.name
|
|
}
|
|
|
|
lifecycle {
|
|
ignore_changes = [
|
|
ulimit,
|
|
log_opts
|
|
]
|
|
}
|
|
}
|