Add borg, crawl4ai en open-webui

This commit is contained in:
Marc Fokkert
2026-05-06 21:20:21 +02:00
parent 0097b0f9d1
commit 7300139959
6 changed files with 139 additions and 2 deletions
+44
View File
@@ -0,0 +1,44 @@
data "docker_registry_image" "borg" {
name = "pschiffe/borg:latest"
}
resource "docker_image" "borg" {
name = data.docker_registry_image.borg.name
pull_triggers = [data.docker_registry_image.borg.sha256_digest]
}
resource "docker_container" "borg" {
image = docker_image.borg.image_id
name = "borg"
restart = "always"
env = [
"BORG_REPO=/borg/repo"
]
mounts {
target = "/root"
source = "/var/lib/containers/borg/config"
type = "bind"
}
volumes {
container_path = "/borg/repo"
volume_name = docker_volume.truenas-borg.name
}
lifecycle {
ignore_changes = [
ulimit,
log_opts
]
}
networks_advanced {
name = docker_network.container-public.name
ipv4_address = "192.168.3.56"
}
}
+35
View File
@@ -0,0 +1,35 @@
data "docker_registry_image" "crawl4ai" {
name = "unclecode/crawl4ai:latest"
}
resource "docker_image" "crawl4ai" {
name = data.docker_registry_image.crawl4ai.name
pull_triggers = [data.docker_registry_image.crawl4ai.sha256_digest]
}
resource "docker_container" "crawl4ai" {
image = docker_image.crawl4ai.image_id
name = "crawl4ai"
hostname = "crawl4ai"
restart = "always"
memory = 2000
memory_swap = 2000
log_driver = "local"
env = [
]
networks_advanced {
name = docker_network.ai.name
}
lifecycle {
ignore_changes = [
ulimit,
log_opts
]
}
}
+49
View File
@@ -0,0 +1,49 @@
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
]
}
}
+9
View File
@@ -138,3 +138,12 @@ resource "docker_volume" "truenas-cache" {
o = "username=dqnap,password=vPKnUmApyQRE5$n,file_mode=0777,dir_mode=0777" o = "username=dqnap,password=vPKnUmApyQRE5$n,file_mode=0777,dir_mode=0777"
} }
} }
resource "docker_volume" "truenas-borg" {
name = "truenas-borg"
driver_opts = {
type = "cifs",
device = "//172.20.0.188/borg"
o = "username=dqnap,password=vPKnUmApyQRE5$n,file_mode=0777,dir_mode=0777"
}
}
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long