From 8a046be198ba51213a42ffbc44a8e5a65f628146 Mon Sep 17 00:00:00 2001 From: jochen Date: Sat, 26 Sep 2026 18:07:11 +0200 Subject: [PATCH] mailu: seventeen data directories are placed, not stated MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Each resolves to /mailu/ — the maildir at /var/lib/mailu/data-mail, certs at data-certs, and so on. Landing this is a window, not an edit: seventeen renames on the node (the nested data/ tree flattens to the ids), then the full stack recreated, because a changed volume path does not recreate a container by itself (hq 126). Ids are untouched on purpose — a renamed id orphans its held record, and the mail spool is the wrong place to learn what a removal step does with one. --- modules/mailu/module.json | 51 +++++++++++++-------------------------- 1 file changed, 17 insertions(+), 34 deletions(-) diff --git a/modules/mailu/module.json b/modules/mailu/module.json index 6ee1874..7770724 100644 --- a/modules/mailu/module.json +++ b/modules/mailu/module.json @@ -152,7 +152,6 @@ { "id": "data-automx", "type": "directory", - "path": "/var/lib/mailu/data/automx", "mode": "0700" }, { @@ -186,97 +185,81 @@ { "id": "data-certs", "type": "directory", - "path": "/var/lib/mailu/data/certs", "mode": "0700" }, { "id": "data-data", "type": "directory", - "path": "/var/lib/mailu/data/data", "mode": "0700" }, { "id": "data-dkim", "type": "directory", - "path": "/var/lib/mailu/data/dkim", "mode": "0700" }, { "id": "data-mail", "type": "directory", - "path": "/var/lib/mailu/data/mail", "mode": "0700" }, { "id": "data-mailqueue", "type": "directory", - "path": "/var/lib/mailu/data/mailqueue", "mode": "0755" }, { "id": "data-filter", "type": "directory", - "path": "/var/lib/mailu/data/filter", "mode": "0700" }, { "id": "data-clamav", "type": "directory", - "path": "/var/lib/mailu/data/clamav", "mode": "0700" }, { "id": "data-redis", "type": "directory", - "path": "/var/lib/mailu/data/redis", "mode": "0700" }, { "id": "data-webmail", "type": "directory", - "path": "/var/lib/mailu/data/webmail", "mode": "0700" }, { "id": "data-dav", "type": "directory", - "path": "/var/lib/mailu/data/dav", "mode": "0700" }, { "id": "data-fetchmail", "type": "directory", - "path": "/var/lib/mailu/data/data/fetchmail", "mode": "0700" }, { "id": "data-overrides-nginx", "type": "directory", - "path": "/var/lib/mailu/data/overrides/nginx", "mode": "0700" }, { "id": "data-overrides-dovecot", "type": "directory", - "path": "/var/lib/mailu/data/overrides/dovecot", "mode": "0700" }, { "id": "data-overrides-postfix", "type": "directory", - "path": "/var/lib/mailu/data/overrides/postfix", "mode": "0700" }, { "id": "data-overrides-rspamd", "type": "directory", - "path": "/var/lib/mailu/data/overrides/rspamd", "mode": "0700" }, { "id": "data-overrides-roundcube", "type": "directory", - "path": "/var/lib/mailu/data/overrides/roundcube", "mode": "0700" }, { @@ -304,7 +287,7 @@ "image": "redis@sha256:4bed291aa5efb9f0d77b76ff7d4ab71eee410962965d052552db1fb80576431d", "network": "mailu", "volumes": [ - "/var/lib/mailu/data/redis:/data" + "${dir:data-redis}:/data" ] }, { @@ -320,8 +303,8 @@ "/var/lib/mailu/admin.env" ], "volumes": [ - "/var/lib/mailu/data/data:/data", - "/var/lib/mailu/data/dkim:/dkim" + "${dir:data-data}:/data", + "${dir:data-dkim}:/dkim" ], "secrets-in-environment": "mailu-admin honours SECRET_KEY_FILE, DB_PW_FILE and API_TOKEN_FILE (configuration.py) but INITIAL_ADMIN_PW is env-only (start.py); the remaining containers' need for SECRET_KEY is unverified", "dns": [ @@ -338,8 +321,8 @@ "/var/lib/mailu/mailu.env" ], "volumes": [ - "/var/lib/mailu/data/mail:/mail", - "/var/lib/mailu/data/overrides/dovecot:/overrides:ro" + "${dir:data-mail}:/mail", + "${dir:data-overrides-dovecot}:/overrides:ro" ], "dns": [ "192.168.203.254" @@ -355,8 +338,8 @@ "/var/lib/mailu/mailu.env" ], "volumes": [ - "/var/lib/mailu/data/mailqueue:/queue", - "/var/lib/mailu/data/overrides/postfix:/overrides:ro" + "${dir:data-mailqueue}:/queue", + "${dir:data-overrides-postfix}:/overrides:ro" ], "dns": [ "192.168.203.254" @@ -372,8 +355,8 @@ "/var/lib/mailu/mailu.env" ], "volumes": [ - "/var/lib/mailu/data/filter:/var/lib/rspamd", - "/var/lib/mailu/data/overrides/rspamd:/etc/rspamd/override.d:ro" + "${dir:data-filter}:/var/lib/rspamd", + "${dir:data-overrides-rspamd}:/etc/rspamd/override.d:ro" ], "dns": [ "192.168.203.254" @@ -386,7 +369,7 @@ "image": "clamav/clamav-debian@sha256:b12ef8fefddbba7d88de59bea8a32622f365339154adf02d38fd089112e6745a", "network": "mailu", "volumes": [ - "/var/lib/mailu/data/clamav:/var/lib/clamav" + "${dir:data-clamav}:/var/lib/clamav" ], "dns": [ "192.168.203.254" @@ -403,8 +386,8 @@ "/var/lib/mailu/secret.env" ], "volumes": [ - "/var/lib/mailu/data/webmail:/data", - "/var/lib/mailu/data/overrides/roundcube:/overrides:ro" + "${dir:data-webmail}:/data", + "${dir:data-overrides-roundcube}:/overrides:ro" ], "secrets-in-environment": "mailu-admin honours SECRET_KEY_FILE, DB_PW_FILE and API_TOKEN_FILE (configuration.py) but INITIAL_ADMIN_PW is env-only (start.py); the remaining containers' need for SECRET_KEY is unverified", "dns": [ @@ -422,7 +405,7 @@ "/var/lib/mailu/secret.env" ], "volumes": [ - "/var/lib/mailu/data/dav:/data" + "${dir:data-dav}:/data" ], "secrets-in-environment": "mailu-admin honours SECRET_KEY_FILE, DB_PW_FILE and API_TOKEN_FILE (configuration.py) but INITIAL_ADMIN_PW is env-only (start.py); the remaining containers' need for SECRET_KEY is unverified", "dns": [ @@ -440,7 +423,7 @@ "/var/lib/mailu/secret.env" ], "volumes": [ - "/var/lib/mailu/data/data/fetchmail:/data" + "${dir:data-fetchmail}:/data" ], "secrets-in-environment": "mailu-admin honours SECRET_KEY_FILE, DB_PW_FILE and API_TOKEN_FILE (configuration.py) but INITIAL_ADMIN_PW is env-only (start.py); the remaining containers' need for SECRET_KEY is unverified", "dns": [ @@ -468,8 +451,8 @@ "7443:443" ], "volumes": [ - "/var/lib/mailu/data/certs:/certs", - "/var/lib/mailu/data/overrides/nginx:/overrides:ro" + "${dir:data-certs}:/certs", + "${dir:data-overrides-nginx}:/overrides:ro" ], "dns": [ "192.168.203.254" @@ -522,7 +505,7 @@ "4243" ], "volumes": [ - "/var/lib/mailu/data/automx:/data" + "${dir:data-automx}:/data" ] } ],