From 21f5301268bc8c39cbc3e74fa94cd7263e9f8f84 Mon Sep 17 00:00:00 2001 From: jochens Date: Tue, 29 Sep 2026 23:38:56 +0200 Subject: [PATCH] ombi: its config is placed, its image is the one ace runs ombi's definition named /services/ombi/config (a HAL machine path) in three places and pinned an image older than the one ace runs. Ombi migrates its own SQLite schema, so a take onto the older pin (v4.53.10-ls267) would start it on a database the newer build (ls269) already touched. - config is a pathless placed directory, mounted as ${dir:config} - a state directory placed at the assignment root carries route.json - image pinned to the digest ace runs today (v4.53.10-ls269) - the sidecar reaches ombi on the machine port the mesh assigns (${port:3579}) rather than assuming 3579 is free - the sidecar no longer mounts ombi's data directory: MESH_OMBI_CONFIG_DIR is read by no code, and the mount exposed the databases for nothing Verified: catalogue tests (MESH_CATALOGUE set, 6 pass, none skipped); the pinned image starts as PUID 1000 in a 0700 dir and answers /api/v1/Status 200; data owned 1001:2000 (ace's media ids) under a 1000:1000 dir is re-owned by the image's init and serves 200; a minted ApiKey is refused (401) - the api-key secret must be accepted from ombi's own settings. --- modules/ombi/module.json | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/modules/ombi/module.json b/modules/ombi/module.json index e70cd3d..137fa66 100644 --- a/modules/ombi/module.json +++ b/modules/ombi/module.json @@ -28,10 +28,15 @@ "path": "/var/lib/mesh/ombi", "mode": "0700" }, + { + "id": "state", + "type": "directory", + "mode": "0700", + "place": "." + }, { "id": "config", "type": "directory", - "path": "/services/ombi/config", "mode": "0700", "owner": "1000:1000" }, @@ -39,7 +44,7 @@ "id": "server", "type": "container", "name": "ombi", - "image": "lscr.io/linuxserver/ombi@sha256:a6f76ac521ba01eee2e9f0c23a3fed22e56630d97a04d5eeaeaa36c1e681640d", + "image": "lscr.io/linuxserver/ombi@sha256:22d6ebadbaaa728571353e74dc2173719e0fb02d4eaec551a7e9d2ee99ef68ac", "env": { "PUID": "1000", "PGID": "1000", @@ -49,7 +54,7 @@ "3579" ], "volumes": [ - "/services/ombi/config:/config" + "${dir:config}:/config" ] }, { @@ -68,15 +73,13 @@ "volumes": [ "/var/lib/mesh/ombi/broker:/run/secrets/broker:ro", "/var/lib/mesh/ombi/api-key:/run/secrets/api-key:ro", - "/var/lib/mesh/ombi/config.json:/run/config/config.json:ro", - "/services/ombi/config:/var/lib/ombi/config:ro" + "/var/lib/mesh/ombi/config.json:/run/config/config.json:ro" ], "env": { "MESH_BROKER_FILE": "/run/secrets/broker", - "MESH_OMBI_URL": "http://127.0.0.1:3579", + "MESH_OMBI_URL": "http://127.0.0.1:${port:3579}", "MESH_OMBI_API_KEY_FILE": "/run/secrets/api-key", - "MESH_OMBI_CONFIG_FILE": "/run/config/config.json", - "MESH_OMBI_CONFIG_DIR": "/var/lib/ombi/config" + "MESH_OMBI_CONFIG_FILE": "/run/config/config.json" }, "restart-on": [ "runtime-config" @@ -94,7 +97,7 @@ } }, "binds": { - "route": "/var/lib/mesh/ombi/route.json" + "route": "${dir:state}/route.json" }, "build": { "on": [