This commit is contained in:
michael committed 2026-09-14 08:13:18 +02:00
1 parent 9a08bfbf44
commit cfb96f03c0
6 files changed
+675 -246

No files matched your search

+39
View File
@@ -3,10 +3,22 @@ set -euo pipefail
NODE_MAJOR_REQUIRED=22
NODESOURCE_SETUP_URL="https://deb.nodesource.com/setup_${NODE_MAJOR_REQUIRED}.x"
MIN_DISK_MB=2048
MIN_MEMORY_MB=768
SCRIPT_DIR="$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")" && pwd)"
REPO_ROOT="$(cd -- "${SCRIPT_DIR}/.." && pwd)"
if [[ "${1:-}" != "--run" ]]; then
echo "Dieses Setup-Script macht ohne explizites --run nichts."
echo
echo "So startest du es bewusst:"
echo " bash scripts/install-local-dependencies.sh --run"
echo
echo "Es installiert nur Webapp-Abhaengigkeiten, keine DB und kein Docker."
exit 0
fi
if [[ ! -f "${REPO_ROOT}/package.json" ]]; then
echo "Repo-Root nicht gefunden. Erwartet: ${REPO_ROOT}/package.json"
exit 1
@@ -46,6 +58,33 @@ node_major() {
node -p 'Number(process.versions.node.split(".")[0])' 2>/dev/null || echo 0
}
available_memory_mb() {
awk '/MemAvailable:/ { print int($2 / 1024) }' /proc/meminfo 2>/dev/null || echo 0
}
available_disk_mb() {
df -Pm "${REPO_ROOT}" | awk 'NR == 2 { print $4 }'
}
if [[ "${SKIP_RESOURCE_CHECK:-false}" != "true" ]]; then
AVAILABLE_DISK_MB="$(available_disk_mb)"
AVAILABLE_MEMORY_MB="$(available_memory_mb)"
if [[ "${AVAILABLE_DISK_MB}" -lt "${MIN_DISK_MB}" ]]; then
echo "Zu wenig freier Speicherplatz fuer npm-Abhaengigkeiten."
echo "Frei: ${AVAILABLE_DISK_MB} MB, benoetigt empfohlen: mindestens ${MIN_DISK_MB} MB."
echo "Falls du das bewusst trotzdem starten willst: SKIP_RESOURCE_CHECK=true bash scripts/install-local-dependencies.sh --run"
exit 1
fi
if [[ "${AVAILABLE_MEMORY_MB}" -gt 0 && "${AVAILABLE_MEMORY_MB}" -lt "${MIN_MEMORY_MB}" ]]; then
echo "Zu wenig freier Arbeitsspeicher fuer eine stabile npm-Installation."
echo "Frei: ${AVAILABLE_MEMORY_MB} MB, benoetigt empfohlen: mindestens ${MIN_MEMORY_MB} MB."
echo "Falls Swap vorhanden ist und du das bewusst trotzdem starten willst: SKIP_RESOURCE_CHECK=true bash scripts/install-local-dependencies.sh --run"
exit 1
fi
fi
echo "Installiere Basiswerkzeuge fuer die lokale Webapp..."
run_apt update
run_apt install -y ca-certificates curl gnupg git bash build-essential