diff --git a/modules/searxng/module.json b/modules/searxng/module.json index be03aa3..d2b0fa0 100644 --- a/modules/searxng/module.json +++ b/modules/searxng/module.json @@ -5,7 +5,7 @@ "container-runtime" ], "own-secrets": { - "secret": "/var/lib/searxng-module/secret.secret", + "secret": "/var/lib/mesh/searxng/secret", "broker": "/var/lib/mesh/searxng/broker" }, "listens": [ @@ -27,22 +27,14 @@ { "id": "state", "type": "directory", - "path": "/var/lib/searxng-module", - "mode": "0700" + "mode": "0700", + "place": "." }, { "id": "valkey-data", "type": "directory", - "path": "/var/lib/searxng-module/valkey-data", "mode": "0700" }, - { - "id": "server-env", - "type": "file", - "path": "/var/lib/searxng-module/server.env", - "mode": "0600", - "content": "SEARXNG_SECRET=${secret:secret}\nSEARXNG_VALKEY_URL=valkey://valkey:6379/0\n" - }, { "id": "net", "type": "network", @@ -63,30 +55,39 @@ "warning" ], "volumes": [ - "/var/lib/searxng-module/valkey-data:/data" + "${dir:valkey-data}:/data" ] }, + { + "id": "settings", + "type": "file", + "path": "${dir:state}/settings.yml", + "mode": "0600", + "merge": "json", + "content": "{\n \"use_default_settings\": true,\n \"server\": {\n \"secret_key\": \"${secret:secret}\",\n \"base_url\": false,\n \"limiter\": false,\n \"image_proxy\": false,\n \"public_instance\": false\n },\n \"search\": {\n \"formats\": [\"html\", \"json\"]\n },\n \"valkey\": {\n \"url\": \"valkey://valkey:6379/0\"\n }\n}\n" + }, { "id": "server", "type": "container", "name": "searxng", - "image": "searxng/searxng@sha256:c7cc75852051bf6254afda6ed1b920dd1677d8efe4ab141bf558f02e582f4371", + "image": "searxng/searxng@sha256:cd8812607ab73730a0b1a0dc4990223fe1b9e383f6f35947114d0bef7f8bb441", "network": "searxng", - "env-file": [ - "/var/lib/searxng-module/server.env" - ], "ports": [ "8080" ], - "secrets-in-environment": "SEARXNG_SECRET is env-only, but settings.yml carries server.secret_key; convertible by mounting a generated settings.yml, not yet done" + "volumes": [ + "${dir:state}/settings.yml:/etc/searxng/settings.yml:ro" + ], + "restart-on": [ + "settings" + ] }, { "id": "runtime-config", "type": "file", "path": "/var/lib/mesh/searxng/config.json", "mode": "0600", - "content": "{}\n", - "merge": "json" + "content": "{}\n" }, { "id": "runtime", @@ -118,7 +119,7 @@ } }, "binds": { - "route": "/var/lib/searxng-module/route.json" + "route": "${dir:state}/route.json" }, "build": { "on": [