Compute the dataset names in the compose, with no overridable wrapper

The sibling apps wrap their dataset names in an overridable
`${MAIN_DATASET:-${DATASET_PREFIX:-…}-${SERVICE_NAME_BACKEND}}` because they keep
historical datasets. Coolify stores such a default, itself an expression, as the
created variable's value, so the new app showed MAIN_DATASET and
SETTINGS_DATASET holding what reads as unresolved text. It does resolve at
deploy time (docker compose interpolates `.env` values), so this was confusing
rather than broken — but Festipod has no historical datasets to keep, so the
names are now computed directly: festipod-backend / settings-festipod-backend,
`…-backend-pr-<n>` in a preview, the same names as before.

The comment and the deployment leaf say what was observed and what was traced,
and that a second stack on the same Fuseki needs its own DATASET_PREFIX in both
its normal and preview scopes.
This commit is contained in:
Sylvain Duchesne
2026-10-19 17:44:51 +02:00
parent a28a318c24
commit 5b61ce9905
2 changed files with 11 additions and 6 deletions
+10 -5
View File
@@ -56,11 +56,16 @@ services:
SEMAPPS_JENA_USER: ${JENA_USER:-admin}
SEMAPPS_JENA_PASSWORD: ${JENA_PASSWORD}
# A pair of datasets named after DATASET_PREFIX and the backend's service name, e.g.
# festipod-backend / settings-festipod-backend (…-backend-pr-<n> in a preview). Two
# non-preview stacks on the same Fuseki would share them: give the second its own
# DATASET_PREFIX (or MAIN_DATASET / SETTINGS_DATASET).
SEMAPPS_MAIN_DATASET: ${MAIN_DATASET:-${DATASET_PREFIX:-festipod}-${SERVICE_NAME_BACKEND}}
SEMAPPS_AUTH_ACCOUNTS_DATASET_NAME: ${SETTINGS_DATASET:-settings-${DATASET_PREFIX:-festipod}-${SERVICE_NAME_BACKEND}}
# festipod-backend / settings-festipod-backend (…-backend-pr-<n> in a preview); both
# are used (the second holds the accounts and the webhook listeners). Two non-preview
# stacks on the same Fuseki would share them: give the second its own DATASET_PREFIX,
# in both its normal and preview scopes.
# Computed here, not through an overridable MAIN_DATASET / SETTINGS_DATASET (the sibling
# apps' pattern, which they need to keep historical datasets): Coolify stores such a
# default, itself an expression, as the variable's value — it reads as unresolved text
# in its UI although docker compose resolves it from the .env at deploy time.
SEMAPPS_MAIN_DATASET: ${DATASET_PREFIX:-festipod}-${SERVICE_NAME_BACKEND}
SEMAPPS_AUTH_ACCOUNTS_DATASET_NAME: settings-${DATASET_PREFIX:-festipod}-${SERVICE_NAME_BACKEND}
SEMAPPS_REDIS_CACHE_URL: redis://${SERVICE_NAME_FESTIPOD_REDIS}:6379/0
SEMAPPS_QUEUE_SERVICE_URL: redis://${SERVICE_NAME_FESTIPOD_REDIS}:6379/1