Merge pull request 'fix(sandbox): Dolibarr dev mode (DOLI_PROD=0) + correct install.lock path' (#18) from claude/sandbox-dev-mode into main

This commit was merged in pull request #18.
This commit is contained in:
2026-06-29 14:11:18 +02:00
2 changed files with 11 additions and 4 deletions

View File

@@ -20,4 +20,9 @@ data:
PHP_INI_DATE_TIMEZONE: Europe/Paris
DOLI_AUTH: dolibarr
DOLI_CRON: !!str 0
{{- if ne .Values.env "prod" }}
# Non-prod (sandbox): dev mode — render real errors inline instead of the generic
# prod "technical error" banner. Prod keeps the image default (DOLI_PROD=1).
DOLI_PROD: !!str 0
{{- end }}
# DOLI_INSTANCE_UNIQUE_ID: <random salt for encryption>

View File

@@ -34,12 +34,14 @@ sandbox:
```sh
kubectl -n erp-sandbox exec \
"$(kubectl get pod -n erp-sandbox -l app.kubernetes.io/instance=erp-sandbox -o name)" -- \
/bin/sh -c 'touch /var/www/html/install.lock && chown www-data:www-data /var/www/html/install.lock'
/bin/sh -c 'touch /var/www/documents/install.lock && chown www-data:www-data /var/www/documents/install.lock'
```
For prod, swap to `-n erp -l app.kubernetes.io/instance=erp`. Not needed when the
instance was seeded from a prod dump instead of freshly installed — see
`../ops/sandbox/`.
The path is the Dolibarr **data root** (`/var/www/documents`, a PVC) — that's where
Dolibarr checks, and being on the PVC the lock persists across pod restarts. For
prod, swap to `-n erp -l app.kubernetes.io/instance=erp`. A sandbox **seeded** from
prod still needs this: the seed (see `../ops/sandbox/`) copies the DB +
`documents/mycompany`, not `install.lock`.
## Provision the sandbox