#!/bin/bash # # Veridian Edge Agent Installer # For Raspberry Pi / Ubuntu # set -e INSTALL_DIR="/opt/veridian-edge" SERVICE_NAME="veridian-edge" CURRENT_USER="${SUDO_USER:-$USER}" echo "🌱 Veridian Edge Agent Installer" echo "================================" echo "" # Check if running as root if [ "$EUID" -ne 0 ]; then echo "⚠️ Please run with sudo: sudo ./install.sh" exit 1 fi # Check for Bun if ! command -v bun &> /dev/null; then echo "📦 Installing Bun..." curl -fsSL https://bun.sh/install | bash export BUN_INSTALL="/home/$CURRENT_USER/.bun" export PATH="$BUN_INSTALL/bin:$PATH" fi echo "✅ Bun installed: $(bun --version)" # Create install directory echo "📁 Creating $INSTALL_DIR..." mkdir -p "$INSTALL_DIR" chown "$CURRENT_USER:$CURRENT_USER" "$INSTALL_DIR" # Copy files (assume running from repo root) echo "📋 Copying files..." if [ -f "package.json" ]; then cp -r ./* "$INSTALL_DIR/" else echo "❌ Error: Run this script from the veridian-edge repository root" exit 1 fi # Install dependencies echo "📦 Installing dependencies..." cd "$INSTALL_DIR" sudo -u "$CURRENT_USER" bun install # Create config if not exists if [ ! -f "$INSTALL_DIR/config.json" ]; then echo "📝 Creating config.json from template..." cp "$INSTALL_DIR/config.example.json" "$INSTALL_DIR/config.json" echo "" echo "⚠️ IMPORTANT: Edit $INSTALL_DIR/config.json with your credentials!" echo "" fi # Create data directory mkdir -p "/home/$CURRENT_USER/.local/share/veridian-edge" chown "$CURRENT_USER:$CURRENT_USER" "/home/$CURRENT_USER/.local/share/veridian-edge" # Create systemd service echo "🔧 Creating systemd service..." BUN_PATH="/home/$CURRENT_USER/.bun/bin/bun" cat > "/etc/systemd/system/$SERVICE_NAME.service" <