install-services.sh
1 #!/bin/bash 2 # 3 # Sovereign OS - Nodebox Service Installer 4 # 5 # Run this on nodebox to install systemd services: 6 # cd ~/repos/Sovereign_OS/deploy/nodebox 7 # ./install-services.sh 8 # 9 10 set -e 11 12 SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)" 13 SERVICES="sovereign-mesh sovereign-first-officer sovereign-mission-control" 14 15 echo "========================================" 16 echo " Sovereign OS - Nodebox Installer" 17 echo "========================================" 18 echo "" 19 20 # Create logs directory 21 mkdir -p ~/.sovereign/logs 22 echo "✓ Created ~/.sovereign/logs" 23 24 # Copy service files 25 echo "" 26 echo "Installing systemd services..." 27 for service in $SERVICES; do 28 sudo cp "$SCRIPT_DIR/${service}.service" /etc/systemd/system/ 29 echo " ✓ Installed ${service}.service" 30 done 31 32 # Reload systemd 33 sudo systemctl daemon-reload 34 echo "" 35 echo "✓ Reloaded systemd" 36 37 # Enable and start services 38 echo "" 39 echo "Enabling and starting services..." 40 for service in $SERVICES; do 41 sudo systemctl enable "$service" 42 sudo systemctl start "$service" 43 echo " ✓ Started ${service}" 44 done 45 46 # Show status 47 echo "" 48 echo "========================================" 49 echo " Service Status" 50 echo "========================================" 51 for service in $SERVICES; do 52 status=$(systemctl is-active "$service" 2>/dev/null || echo "unknown") 53 if [ "$status" = "active" ]; then 54 echo " ✓ ${service}: running" 55 else 56 echo " ✗ ${service}: $status" 57 fi 58 done 59 60 echo "" 61 echo "Logs at: ~/.sovereign/logs/" 62 echo "" 63 echo "Commands:" 64 echo " sudo systemctl status sovereign-mesh" 65 echo " sudo journalctl -u sovereign-mesh -f" 66 echo ""