88 lines
1.7 KiB
HCL
88 lines
1.7 KiB
HCL
|
|
data "docker_registry_image" "searxng" {
|
|
name = "searxng/searxng:latest"
|
|
}
|
|
|
|
data "docker_registry_image" "searxng-valkey" {
|
|
name = "valkey/valkey:9"
|
|
}
|
|
|
|
resource "docker_image" "searxng" {
|
|
name = data.docker_registry_image.searxng.name
|
|
pull_triggers = [data.docker_registry_image.searxng.sha256_digest]
|
|
}
|
|
|
|
resource "docker_image" "searxng-valkey" {
|
|
name = data.docker_registry_image.searxng-valkey.name
|
|
pull_triggers = [data.docker_registry_image.searxng-valkey.sha256_digest]
|
|
}
|
|
|
|
resource "docker_network" "searxng" {
|
|
name = "searxng"
|
|
}
|
|
|
|
resource "docker_container" "searxng-valkey" {
|
|
image = docker_image.searxng-valkey.image_id
|
|
name = "searxng-valkey"
|
|
restart = "always"
|
|
hostname = "valkey"
|
|
|
|
command = ["valkey-server", "--save 30 1", "--loglevel warning"]
|
|
|
|
mounts {
|
|
target = "/data"
|
|
source = "/var/lib/containers/searxng/valkey-data"
|
|
type = "bind"
|
|
}
|
|
|
|
lifecycle {
|
|
ignore_changes = [
|
|
ulimit,
|
|
log_opts
|
|
]
|
|
}
|
|
|
|
networks_advanced {
|
|
name = docker_network.searxng.name
|
|
}
|
|
}
|
|
|
|
resource "docker_container" "searxng" {
|
|
image = docker_image.searxng.image_id
|
|
name = "searxng"
|
|
restart = "always"
|
|
|
|
env = [
|
|
"TZ=Europe/Amsterdam",
|
|
"SEARXNG_HOSTNAME=search.rescla.me"
|
|
]
|
|
|
|
mounts {
|
|
target = "/var/cache/searxng"
|
|
source = "/var/lib/containers/searxng/searxng-data"
|
|
type = "bind"
|
|
}
|
|
|
|
mounts {
|
|
target = "/etc/searxng"
|
|
source = "/var/lib/containers/searxng/data"
|
|
type = "bind"
|
|
}
|
|
|
|
lifecycle {
|
|
ignore_changes = [
|
|
ulimit,
|
|
log_opts
|
|
]
|
|
}
|
|
|
|
networks_advanced {
|
|
name = docker_network.container-public.name
|
|
ipv4_address = "192.168.3.52"
|
|
}
|
|
|
|
networks_advanced {
|
|
name = docker_network.searxng.name
|
|
}
|
|
}
|