/ deploy / nodebox / install-services.sh
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 ""