major improvements
This commit is contained in:
@@ -0,0 +1,44 @@
|
||||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
SCRIPT_DIR="$(cd -- "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||
ROOT="$(cd -- "$SCRIPT_DIR/.." && pwd)"
|
||||
SERVER_DIR="$ROOT/Overlord-Server"
|
||||
BUN_BIN="${BUN_BIN:-bun}"
|
||||
|
||||
cd "$SERVER_DIR"
|
||||
if ! command -v "$BUN_BIN" >/dev/null 2>&1; then
|
||||
echo "[server] bun not found. Set BUN_BIN to your bun binary or install bun for this environment." >&2
|
||||
exit 1
|
||||
fi
|
||||
echo "[server] using bun at: $(command -v $BUN_BIN)"
|
||||
|
||||
echo "[build] bun install..."
|
||||
"$BUN_BIN" install
|
||||
|
||||
echo "[build] building Tailwind CSS..."
|
||||
"$BUN_BIN" run build:css
|
||||
|
||||
echo "[build] building server bundle..."
|
||||
"$BUN_BIN" run build
|
||||
|
||||
echo "[build] compiling Linux production executable..."
|
||||
"$BUN_BIN" run build:prod:linux
|
||||
|
||||
echo "[build] copying Overlord-Client source for runtime builds..."
|
||||
mkdir -p "$SERVER_DIR/dist/Overlord-Client"
|
||||
rsync -a --exclude='build' --exclude='.git' --exclude='.vscode' "$ROOT/Overlord-Client/" "$SERVER_DIR/dist/Overlord-Client/" 2>/dev/null \
|
||||
|| {
|
||||
rm -rf "$SERVER_DIR/dist/Overlord-Client"
|
||||
cp -a "$ROOT/Overlord-Client" "$SERVER_DIR/dist/Overlord-Client"
|
||||
rm -rf "$SERVER_DIR/dist/Overlord-Client/build" "$SERVER_DIR/dist/Overlord-Client/.git" "$SERVER_DIR/dist/Overlord-Client/.vscode"
|
||||
}
|
||||
|
||||
echo "[server] starting compiled executable..."
|
||||
PORT="${PORT:-5173}" \
|
||||
HOST="${HOST:-0.0.0.0}" \
|
||||
OVERLORD_USER="${OVERLORD_USER:-admin}" \
|
||||
OVERLORD_PASS="${OVERLORD_PASS:-admin}" \
|
||||
LOG_LEVEL="${LOG_LEVEL:-info}" \
|
||||
NODE_ENV="${NODE_ENV:-production}" \
|
||||
OVERLORD_ROOT="$SERVER_DIR" \
|
||||
"$SERVER_DIR/dist/overlord-server-linux-x64"
|
||||
Reference in New Issue
Block a user