Module data lives in /var/lib, now that nothing is mid-cutover

The /services paths were the adopted-node pattern doing its job: take
replaced containers over the predecessor's data without moving a byte
(gitea set it — 'its data never moved'). With every cutover done the
exception has no reason left, and the operator called it: a nox
module's world is /var/lib/<module>, data included. Six modules
repathed; mssql keeps its /services path deliberately — it is still
held, HAL-run, and moves at its own take. Both trees are one
filesystem, so each move is a rename.
This commit is contained in:
2026-09-26 16:47:24 +02:00
parent 382a44621e
commit 50a99f022c
6 changed files with 57 additions and 57 deletions
+3 -3
View File
@@ -121,7 +121,7 @@
{ {
"id": "data", "id": "data",
"type": "directory", "type": "directory",
"path": "/services/gitea/gitea", "path": "/var/lib/gitea/data",
"mode": "0700", "mode": "0700",
"owner": "1000:1000" "owner": "1000:1000"
}, },
@@ -143,7 +143,7 @@
"222:22" "222:22"
], ],
"volumes": [ "volumes": [
"/services/gitea/gitea:/data" "/var/lib/gitea/data:/data"
], ],
"secrets-in-environment": "gitea honours GITEA__database__PASSWD__FILE and GITEA__security__INTERNAL_TOKEN__FILE; convertible, awaiting a bed that proves it" "secrets-in-environment": "gitea honours GITEA__database__PASSWD__FILE and GITEA__security__INTERNAL_TOKEN__FILE; convertible, awaiting a bed that proves it"
}, },
@@ -162,7 +162,7 @@
"/var/lib/gitea/server.env" "/var/lib/gitea/server.env"
], ],
"volumes": [ "volumes": [
"/services/gitea/gitea:/data", "/var/lib/gitea/data:/data",
"/var/lib/gitea/admin.secret:/run/secrets/admin:ro" "/var/lib/gitea/admin.secret:/run/secrets/admin:ro"
], ],
"args": [ "args": [
+34 -34
View File
@@ -152,7 +152,7 @@
{ {
"id": "data-automx", "id": "data-automx",
"type": "directory", "type": "directory",
"path": "/services/mailu/data/automx", "path": "/var/lib/mailu/data/automx",
"mode": "0700" "mode": "0700"
}, },
{ {
@@ -186,97 +186,97 @@
{ {
"id": "data-certs", "id": "data-certs",
"type": "directory", "type": "directory",
"path": "/services/mailu/data/certs", "path": "/var/lib/mailu/data/certs",
"mode": "0700" "mode": "0700"
}, },
{ {
"id": "data-data", "id": "data-data",
"type": "directory", "type": "directory",
"path": "/services/mailu/data/data", "path": "/var/lib/mailu/data/data",
"mode": "0700" "mode": "0700"
}, },
{ {
"id": "data-dkim", "id": "data-dkim",
"type": "directory", "type": "directory",
"path": "/services/mailu/data/dkim", "path": "/var/lib/mailu/data/dkim",
"mode": "0700" "mode": "0700"
}, },
{ {
"id": "data-mail", "id": "data-mail",
"type": "directory", "type": "directory",
"path": "/services/mailu/data/mail", "path": "/var/lib/mailu/data/mail",
"mode": "0700" "mode": "0700"
}, },
{ {
"id": "data-mailqueue", "id": "data-mailqueue",
"type": "directory", "type": "directory",
"path": "/services/mailu/data/mailqueue", "path": "/var/lib/mailu/data/mailqueue",
"mode": "0755" "mode": "0755"
}, },
{ {
"id": "data-filter", "id": "data-filter",
"type": "directory", "type": "directory",
"path": "/services/mailu/data/filter", "path": "/var/lib/mailu/data/filter",
"mode": "0700" "mode": "0700"
}, },
{ {
"id": "data-clamav", "id": "data-clamav",
"type": "directory", "type": "directory",
"path": "/services/mailu/data/clamav", "path": "/var/lib/mailu/data/clamav",
"mode": "0700" "mode": "0700"
}, },
{ {
"id": "data-redis", "id": "data-redis",
"type": "directory", "type": "directory",
"path": "/services/mailu/data/redis", "path": "/var/lib/mailu/data/redis",
"mode": "0700" "mode": "0700"
}, },
{ {
"id": "data-webmail", "id": "data-webmail",
"type": "directory", "type": "directory",
"path": "/services/mailu/data/webmail", "path": "/var/lib/mailu/data/webmail",
"mode": "0700" "mode": "0700"
}, },
{ {
"id": "data-dav", "id": "data-dav",
"type": "directory", "type": "directory",
"path": "/services/mailu/data/dav", "path": "/var/lib/mailu/data/dav",
"mode": "0700" "mode": "0700"
}, },
{ {
"id": "data-fetchmail", "id": "data-fetchmail",
"type": "directory", "type": "directory",
"path": "/services/mailu/data/data/fetchmail", "path": "/var/lib/mailu/data/data/fetchmail",
"mode": "0700" "mode": "0700"
}, },
{ {
"id": "data-overrides-nginx", "id": "data-overrides-nginx",
"type": "directory", "type": "directory",
"path": "/services/mailu/data/overrides/nginx", "path": "/var/lib/mailu/data/overrides/nginx",
"mode": "0700" "mode": "0700"
}, },
{ {
"id": "data-overrides-dovecot", "id": "data-overrides-dovecot",
"type": "directory", "type": "directory",
"path": "/services/mailu/data/overrides/dovecot", "path": "/var/lib/mailu/data/overrides/dovecot",
"mode": "0700" "mode": "0700"
}, },
{ {
"id": "data-overrides-postfix", "id": "data-overrides-postfix",
"type": "directory", "type": "directory",
"path": "/services/mailu/data/overrides/postfix", "path": "/var/lib/mailu/data/overrides/postfix",
"mode": "0700" "mode": "0700"
}, },
{ {
"id": "data-overrides-rspamd", "id": "data-overrides-rspamd",
"type": "directory", "type": "directory",
"path": "/services/mailu/data/overrides/rspamd", "path": "/var/lib/mailu/data/overrides/rspamd",
"mode": "0700" "mode": "0700"
}, },
{ {
"id": "data-overrides-roundcube", "id": "data-overrides-roundcube",
"type": "directory", "type": "directory",
"path": "/services/mailu/data/overrides/roundcube", "path": "/var/lib/mailu/data/overrides/roundcube",
"mode": "0700" "mode": "0700"
}, },
{ {
@@ -304,7 +304,7 @@
"image": "redis@sha256:4bed291aa5efb9f0d77b76ff7d4ab71eee410962965d052552db1fb80576431d", "image": "redis@sha256:4bed291aa5efb9f0d77b76ff7d4ab71eee410962965d052552db1fb80576431d",
"network": "mailu", "network": "mailu",
"volumes": [ "volumes": [
"/services/mailu/data/redis:/data" "/var/lib/mailu/data/redis:/data"
] ]
}, },
{ {
@@ -320,8 +320,8 @@
"/var/lib/mailu/admin.env" "/var/lib/mailu/admin.env"
], ],
"volumes": [ "volumes": [
"/services/mailu/data/data:/data", "/var/lib/mailu/data/data:/data",
"/services/mailu/data/dkim:/dkim" "/var/lib/mailu/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", "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": [ "dns": [
@@ -338,8 +338,8 @@
"/var/lib/mailu/mailu.env" "/var/lib/mailu/mailu.env"
], ],
"volumes": [ "volumes": [
"/services/mailu/data/mail:/mail", "/var/lib/mailu/data/mail:/mail",
"/services/mailu/data/overrides/dovecot:/overrides:ro" "/var/lib/mailu/data/overrides/dovecot:/overrides:ro"
], ],
"dns": [ "dns": [
"192.168.203.254" "192.168.203.254"
@@ -355,8 +355,8 @@
"/var/lib/mailu/mailu.env" "/var/lib/mailu/mailu.env"
], ],
"volumes": [ "volumes": [
"/services/mailu/data/mailqueue:/queue", "/var/lib/mailu/data/mailqueue:/queue",
"/services/mailu/data/overrides/postfix:/overrides:ro" "/var/lib/mailu/data/overrides/postfix:/overrides:ro"
], ],
"dns": [ "dns": [
"192.168.203.254" "192.168.203.254"
@@ -372,8 +372,8 @@
"/var/lib/mailu/mailu.env" "/var/lib/mailu/mailu.env"
], ],
"volumes": [ "volumes": [
"/services/mailu/data/filter:/var/lib/rspamd", "/var/lib/mailu/data/filter:/var/lib/rspamd",
"/services/mailu/data/overrides/rspamd:/etc/rspamd/override.d:ro" "/var/lib/mailu/data/overrides/rspamd:/etc/rspamd/override.d:ro"
], ],
"dns": [ "dns": [
"192.168.203.254" "192.168.203.254"
@@ -386,7 +386,7 @@
"image": "clamav/clamav-debian@sha256:b12ef8fefddbba7d88de59bea8a32622f365339154adf02d38fd089112e6745a", "image": "clamav/clamav-debian@sha256:b12ef8fefddbba7d88de59bea8a32622f365339154adf02d38fd089112e6745a",
"network": "mailu", "network": "mailu",
"volumes": [ "volumes": [
"/services/mailu/data/clamav:/var/lib/clamav" "/var/lib/mailu/data/clamav:/var/lib/clamav"
], ],
"dns": [ "dns": [
"192.168.203.254" "192.168.203.254"
@@ -403,8 +403,8 @@
"/var/lib/mailu/secret.env" "/var/lib/mailu/secret.env"
], ],
"volumes": [ "volumes": [
"/services/mailu/data/webmail:/data", "/var/lib/mailu/data/webmail:/data",
"/services/mailu/data/overrides/roundcube:/overrides:ro" "/var/lib/mailu/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", "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": [ "dns": [
@@ -422,7 +422,7 @@
"/var/lib/mailu/secret.env" "/var/lib/mailu/secret.env"
], ],
"volumes": [ "volumes": [
"/services/mailu/data/dav:/data" "/var/lib/mailu/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", "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": [ "dns": [
@@ -440,7 +440,7 @@
"/var/lib/mailu/secret.env" "/var/lib/mailu/secret.env"
], ],
"volumes": [ "volumes": [
"/services/mailu/data/data/fetchmail:/data" "/var/lib/mailu/data/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", "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": [ "dns": [
@@ -468,8 +468,8 @@
"7443:443" "7443:443"
], ],
"volumes": [ "volumes": [
"/services/mailu/data/certs:/certs", "/var/lib/mailu/data/certs:/certs",
"/services/mailu/data/overrides/nginx:/overrides:ro" "/var/lib/mailu/data/overrides/nginx:/overrides:ro"
], ],
"dns": [ "dns": [
"192.168.203.254" "192.168.203.254"
@@ -522,7 +522,7 @@
"4243" "4243"
], ],
"volumes": [ "volumes": [
"/services/mailu/data/automx:/data" "/var/lib/mailu/data/automx:/data"
] ]
} }
], ],
+2 -2
View File
@@ -64,7 +64,7 @@
{ {
"id": "data", "id": "data",
"type": "directory", "type": "directory",
"path": "/services/mongodb/db-data", "path": "/var/lib/mongodb/data",
"mode": "0700" "mode": "0700"
}, },
{ {
@@ -86,7 +86,7 @@
"27017" "27017"
], ],
"volumes": [ "volumes": [
"/services/mongodb/db-data:/data/db", "/var/lib/mongodb/data:/data/db",
"/var/lib/mongodb/root.secret:/run/secrets/root:ro" "/var/lib/mongodb/root.secret:/run/secrets/root:ro"
] ]
}, },
+2 -2
View File
@@ -67,7 +67,7 @@
{ {
"id": "html", "id": "html",
"type": "directory", "type": "directory",
"path": "/services/nextcloud/html", "path": "/var/lib/nextcloud-module/html",
"mode": "0750", "mode": "0750",
"owner": "33:33" "owner": "33:33"
}, },
@@ -83,7 +83,7 @@
"80" "80"
], ],
"volumes": [ "volumes": [
"/services/nextcloud/html:/var/www/html" "/var/lib/nextcloud-module/html:/var/www/html"
], ],
"secrets-in-environment": "the image honours POSTGRES_PASSWORD_FILE and NEXTCLOUD_ADMIN_PASSWORD_FILE (entrypoint file_env); OBJECTSTORE_S3_SECRET has none and needs a generated config fragment; convertible, awaiting a bed" "secrets-in-environment": "the image honours POSTGRES_PASSWORD_FILE and NEXTCLOUD_ADMIN_PASSWORD_FILE (entrypoint file_env); OBJECTSTORE_S3_SECRET has none and needs a generated config fragment; convertible, awaiting a bed"
}, },
+14 -14
View File
@@ -45,43 +45,43 @@
{ {
"id": "logs", "id": "logs",
"type": "directory", "type": "directory",
"path": "/services/only-office/logs", "path": "/var/lib/only-office/logs",
"mode": "0700" "mode": "0700"
}, },
{ {
"id": "data", "id": "data",
"type": "directory", "type": "directory",
"path": "/services/only-office/data", "path": "/var/lib/only-office/data",
"mode": "0700" "mode": "0700"
}, },
{ {
"id": "lib", "id": "lib",
"type": "directory", "type": "directory",
"path": "/services/only-office/lib", "path": "/var/lib/only-office/lib",
"mode": "0700" "mode": "0700"
}, },
{ {
"id": "db", "id": "db",
"type": "directory", "type": "directory",
"path": "/services/only-office/db", "path": "/var/lib/only-office/db",
"mode": "0700" "mode": "0700"
}, },
{ {
"id": "rabbitmq", "id": "rabbitmq",
"type": "directory", "type": "directory",
"path": "/services/only-office/rabbitmq", "path": "/var/lib/only-office/rabbitmq",
"mode": "0700" "mode": "0700"
}, },
{ {
"id": "redis", "id": "redis",
"type": "directory", "type": "directory",
"path": "/services/only-office/redis", "path": "/var/lib/only-office/redis",
"mode": "0700" "mode": "0700"
}, },
{ {
"id": "fonts", "id": "fonts",
"type": "directory", "type": "directory",
"path": "/services/only-office/fonts", "path": "/var/lib/only-office/fonts",
"mode": "0700" "mode": "0700"
}, },
{ {
@@ -102,13 +102,13 @@
"9070:80" "9070:80"
], ],
"volumes": [ "volumes": [
"/services/only-office/logs:/var/log/onlyoffice", "/var/lib/only-office/logs:/var/log/onlyoffice",
"/services/only-office/data:/var/www/onlyoffice/Data", "/var/lib/only-office/data:/var/www/onlyoffice/Data",
"/services/only-office/lib:/var/lib/onlyoffice", "/var/lib/only-office/lib:/var/lib/onlyoffice",
"/services/only-office/db:/var/lib/postgresql", "/var/lib/only-office/db:/var/lib/postgresql",
"/services/only-office/rabbitmq:/var/lib/rabbitmq", "/var/lib/only-office/rabbitmq:/var/lib/rabbitmq",
"/services/only-office/redis:/var/lib/redis", "/var/lib/only-office/redis:/var/lib/redis",
"/services/only-office/fonts:/usr/share/fonts/truetype/custom" "/var/lib/only-office/fonts:/usr/share/fonts/truetype/custom"
], ],
"secrets-in-environment": "run-document-server.sh regenerates JWT_SECRET from the environment on every start and overwrites local.json; not convertible" "secrets-in-environment": "run-document-server.sh regenerates JWT_SECRET from the environment on every start and overwrites local.json; not convertible"
} }
+2 -2
View File
@@ -29,7 +29,7 @@
{ {
"id": "data", "id": "data",
"type": "directory", "type": "directory",
"path": "/services/portainer/portainer_data", "path": "/var/lib/portainer/data",
"mode": "0700" "mode": "0700"
}, },
{ {
@@ -42,7 +42,7 @@
"9443:9443" "9443:9443"
], ],
"volumes": [ "volumes": [
"/services/portainer/portainer_data:/data", "/var/lib/portainer/data:/data",
"/var/run/docker.sock:/var/run/docker.sock" "/var/run/docker.sock:/var/run/docker.sock"
] ]
}, },