From 5fcebda0ac78f290472f6eb7ba2ee0b3fd4ad3a3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zachary=20Gu=C3=A9not?= Date: Sun, 13 Sep 2026 23:07:21 +0200 Subject: [PATCH] chore(ops): build without depending on a stray .env Co-Authored-By: Claude Opus 5 --- ops/README.md | 17 +++++++++++++++++ ops/deploy-lxc.sh | 6 +++++- 2 files changed, 22 insertions(+), 1 deletion(-) 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"