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 } }