This commit is contained in:
michael committed 2026-09-09 12:55:56 +02:00
1 parent c2063fe1ed
commit 07ef8ef025
10 files changed
+1624 -93

No files matched your search

+88
View File
@@ -0,0 +1,88 @@
#!/usr/bin/env bash
set -euo pipefail
NODE_MAJOR_REQUIRED=22
NODESOURCE_SETUP_URL="https://deb.nodesource.com/setup_${NODE_MAJOR_REQUIRED}.x"
SCRIPT_DIR="$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")" && pwd)"
REPO_ROOT="$(cd -- "${SCRIPT_DIR}/.." && pwd)"
if [[ ! -f "${REPO_ROOT}/package.json" ]]; then
echo "Repo-Root nicht gefunden. Erwartet: ${REPO_ROOT}/package.json"
exit 1
fi
if ! command -v apt-get >/dev/null 2>&1; then
echo "Dieses Setup-Script unterstuetzt aktuell Debian/Ubuntu mit apt-get."
exit 1
fi
SUDO=()
if [[ "${EUID}" -ne 0 ]]; then
if ! command -v sudo >/dev/null 2>&1; then
echo "Bitte als root ausfuehren oder sudo installieren."
exit 1
fi
SUDO=(sudo)
fi
run_apt() {
if [[ "${#SUDO[@]}" -gt 0 ]]; then
"${SUDO[@]}" env DEBIAN_FRONTEND=noninteractive apt-get "$@"
else
DEBIAN_FRONTEND=noninteractive apt-get "$@"
fi
}
run_as_root_preserve_env() {
if [[ "${#SUDO[@]}" -gt 0 ]]; then
"${SUDO[@]}" -E "$@"
else
"$@"
fi
}
node_major() {
node -p 'Number(process.versions.node.split(".")[0])' 2>/dev/null || echo 0
}
echo "Installiere Basiswerkzeuge fuer die lokale Webapp..."
run_apt update
run_apt install -y ca-certificates curl gnupg git bash build-essential
CURRENT_NODE_MAJOR="$(node_major)"
if [[ "${CURRENT_NODE_MAJOR}" -lt "${NODE_MAJOR_REQUIRED}" ]]; then
echo "Installiere Node.js ${NODE_MAJOR_REQUIRED}.x ueber NodeSource..."
TMP_SETUP="$(mktemp)"
curl -fsSL "${NODESOURCE_SETUP_URL}" -o "${TMP_SETUP}"
run_as_root_preserve_env bash "${TMP_SETUP}"
rm -f "${TMP_SETUP}"
run_apt install -y nodejs
else
echo "Node.js $(node --version) ist bereits kompatibel."
fi
CURRENT_NODE_MAJOR="$(node_major)"
if [[ "${CURRENT_NODE_MAJOR}" -lt "${NODE_MAJOR_REQUIRED}" ]]; then
echo "Node.js >= ${NODE_MAJOR_REQUIRED} wird benoetigt, aktiv ist aber: $(node --version 2>/dev/null || echo nicht installiert)"
exit 1
fi
if ! command -v npm >/dev/null 2>&1; then
echo "npm wurde nicht gefunden. Bitte Node.js/npm Installation pruefen."
exit 1
fi
echo "Installiere npm-Abhaengigkeiten im Repo..."
cd "${REPO_ROOT}"
if [[ -f package-lock.json ]]; then
npm ci --include=dev
else
npm install --include=dev
fi
chmod +x "${REPO_ROOT}/scripts/start-local.sh"
echo
echo "Fertig. Zum Starten noch DATABASE_URL setzen und dann ausfuehren:"
echo " npm run serve:local"
+2 -2
View File
@@ -6,9 +6,9 @@ BACKEND_PORT="${BACKEND_PORT:-3001}"
export API_PROXY_TARGET="${API_PROXY_TARGET:-http://127.0.0.1:${BACKEND_PORT}}"
export NEXT_TELEMETRY_DISABLED=1
if [[ -f ".env" ]]; then
if [[ -f ".env_dev" ]]; then
set -a
source .env
source .env_dev
set +a
fi