diff --git a/ops/README.md b/ops/README.md index 1db61bd68..3a9230a16 100644 --- a/ops/README.md +++ b/ops/README.md @@ -138,3 +138,20 @@ git config rerere.enabled true résoudre. Une fois qu'une résolution est connue, les suivantes sont automatiques — à relire quand même, l'amont peut avoir changé la forme de la liste autour. + + +## Construire ailleurs que sur le poste + +```bash +SKIP_ENV_VALIDATION=true CI=true DISABLE_REDIS_LOGS=true \ + pnpm turbo build --concurrency=1 --filter=@homarr/nextjs... --filter=@homarr/cli +``` + +`SKIP_ENV_VALIDATION` n'est pas optionnel : le build charge `next.config.ts`, qui +valide les variables d'**exécution** — dont `URL`, qui n'a aucun sens à la +compilation. Le Dockerfile la pose en `ARG` pour la même raison. Un dépôt qui +construit sans elle ne le doit qu'à un `.env` traînant à sa racine. + +Mémoire mesurée sur ce dépôt : **1,8 Go de PSS au pic**, et non les 5 Go que +donne la somme naïve des RSS, qui recompte la mémoire partagée. Sur une machine +à 2 Go, c'est jouable service arrêté, mais sans marge. diff --git a/ops/deploy-lxc.sh b/ops/deploy-lxc.sh index 2863d03ef..529102c25 100755 --- a/ops/deploy-lxc.sh +++ b/ops/deploy-lxc.sh @@ -69,7 +69,11 @@ fi # --------------------------------------------------------------------------- say "Build" -pnpm turbo build --filter=@homarr/nextjs... --filter=@homarr/cli +# Les trois variables reproduisent les ARG du Dockerfile. Sans la première, le +# build valide les variables d'exécution — dont URL, qui n'a aucun sens à la +# compilation — et échoue partout où il ne traîne pas un .env à la racine. +SKIP_ENV_VALIDATION=true CI=true DISABLE_REDIS_LOGS=true \ + pnpm turbo build --filter=@homarr/nextjs... --filter=@homarr/cli # --------------------------------------------------------------------------- say "Assemblage de l'arborescence à envoyer"