Files
stream-control/docker-entrypoint.sh
jeanotx32 118ec7538f
Some checks failed
release / build (push) Successful in 19s
release / verify-windows (push) Has been cancelled
Fix : docker statrtup crash 1
2026-08-11 18:04:05 +02:00

27 lines
943 B
Bash
Executable File

#!/bin/sh
#
# Aligne la propriété du répertoire de données avant de lâcher les privilèges.
#
# /app/data est un bind mount : le `chown` fait au build ne sert à rien, il est
# masqué dès que Docker monte le répertoire de l'hôte par-dessus. Or Docker crée
# ce répertoire en root:root quand il n'existe pas, et le serveur tourne sous
# l'utilisateur `node` — SQLite échoue alors avec « unable to open database file ».
set -e
if [ "$(id -u)" = "0" ]; then
mkdir -p /app/data
# Uniquement si nécessaire : sur un volume nommé la propriété est déjà bonne,
# et un chown -R inutile ferait du bruit à chaque démarrage.
if [ "$(stat -c %u /app/data)" != "$(id -u node)" ]; then
echo "entrypoint: alignement de /app/data sur l'utilisateur node"
chown -R node:node /app/data
fi
exec su-exec node "$@"
fi
# Un `user:` explicite dans le compose court-circuite la bascule : on exécute tel quel.
exec "$@"