mirror of
https://github.com/DeBrosOfficial/network.git
synced 2026-01-30 11:33:04 +00:00
Added nyx auto install with anyone relay
This commit is contained in:
parent
15ecf366d5
commit
d6106bcbb8
@ -181,6 +181,30 @@ func (ari *AnyoneRelayInstaller) Install() error {
|
|||||||
os.Remove(installScript)
|
os.Remove(installScript)
|
||||||
|
|
||||||
fmt.Fprintf(ari.logWriter, " ✓ Anyone relay binary installed\n")
|
fmt.Fprintf(ari.logWriter, " ✓ Anyone relay binary installed\n")
|
||||||
|
|
||||||
|
// Install nyx for relay monitoring (connects to ControlPort 9051)
|
||||||
|
if err := ari.installNyx(); err != nil {
|
||||||
|
fmt.Fprintf(ari.logWriter, " ⚠️ nyx install warning: %v\n", err)
|
||||||
|
}
|
||||||
|
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
// installNyx installs the nyx relay monitor tool
|
||||||
|
func (ari *AnyoneRelayInstaller) installNyx() error {
|
||||||
|
// Check if already installed
|
||||||
|
if _, err := exec.LookPath("nyx"); err == nil {
|
||||||
|
fmt.Fprintf(ari.logWriter, " ✓ nyx already installed\n")
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
fmt.Fprintf(ari.logWriter, " Installing nyx (relay monitor)...\n")
|
||||||
|
cmd := exec.Command("apt-get", "install", "-y", "nyx")
|
||||||
|
if output, err := cmd.CombinedOutput(); err != nil {
|
||||||
|
return fmt.Errorf("failed to install nyx: %w\n%s", err, string(output))
|
||||||
|
}
|
||||||
|
|
||||||
|
fmt.Fprintf(ari.logWriter, " ✓ nyx installed (use 'nyx' to monitor relay on ControlPort 9051)\n")
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -336,11 +336,6 @@ func (ps *ProductionSetup) Phase2bInstallBinaries() error {
|
|||||||
if err := relayInstaller.Configure(); err != nil {
|
if err := relayInstaller.Configure(); err != nil {
|
||||||
ps.logf(" ⚠️ Anyone relay config warning: %v", err)
|
ps.logf(" ⚠️ Anyone relay config warning: %v", err)
|
||||||
}
|
}
|
||||||
} else {
|
|
||||||
// Install anyone-client for SOCKS5 proxy (default client mode)
|
|
||||||
if err := ps.binaryInstaller.InstallAnyoneClient(); err != nil {
|
|
||||||
ps.logf(" ⚠️ anyone-client install warning: %v", err)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Install DeBros binaries (must be done before CoreDNS since we need the RQLite plugin source)
|
// Install DeBros binaries (must be done before CoreDNS since we need the RQLite plugin source)
|
||||||
@ -614,19 +609,13 @@ func (ps *ProductionSetup) Phase5CreateSystemdServices(enableHTTPS bool) error {
|
|||||||
}
|
}
|
||||||
ps.logf(" ✓ Node service created: debros-node.service (with embedded gateway)")
|
ps.logf(" ✓ Node service created: debros-node.service (with embedded gateway)")
|
||||||
|
|
||||||
// Anyone service (Client or Relay based on configuration)
|
// Anyone Relay service (only created when --anyone-relay flag is used)
|
||||||
if ps.IsAnyoneRelay() {
|
if ps.IsAnyoneRelay() {
|
||||||
anyoneUnit := ps.serviceGenerator.GenerateAnyoneRelayService()
|
anyoneUnit := ps.serviceGenerator.GenerateAnyoneRelayService()
|
||||||
if err := ps.serviceController.WriteServiceUnit("debros-anyone-relay.service", anyoneUnit); err != nil {
|
if err := ps.serviceController.WriteServiceUnit("debros-anyone-relay.service", anyoneUnit); err != nil {
|
||||||
return fmt.Errorf("failed to write Anyone Relay service: %w", err)
|
return fmt.Errorf("failed to write Anyone Relay service: %w", err)
|
||||||
}
|
}
|
||||||
ps.logf(" ✓ Anyone Relay service created (operator mode, ORPort: %d)", ps.anyoneRelayConfig.ORPort)
|
ps.logf(" ✓ Anyone Relay service created (operator mode, ORPort: %d)", ps.anyoneRelayConfig.ORPort)
|
||||||
} else {
|
|
||||||
anyoneUnit := ps.serviceGenerator.GenerateAnyoneClientService()
|
|
||||||
if err := ps.serviceController.WriteServiceUnit("debros-anyone-client.service", anyoneUnit); err != nil {
|
|
||||||
return fmt.Errorf("failed to write Anyone Client service: %w", err)
|
|
||||||
}
|
|
||||||
ps.logf(" ✓ Anyone Client service created")
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// CoreDNS and Caddy services (only for nameserver nodes)
|
// CoreDNS and Caddy services (only for nameserver nodes)
|
||||||
@ -668,11 +657,9 @@ func (ps *ProductionSetup) Phase5CreateSystemdServices(enableHTTPS bool) error {
|
|||||||
// Note: debros-rqlite.service is NOT created - RQLite is managed by each node internally
|
// Note: debros-rqlite.service is NOT created - RQLite is managed by each node internally
|
||||||
services := []string{"debros-ipfs.service", "debros-ipfs-cluster.service", "debros-olric.service", "debros-node.service"}
|
services := []string{"debros-ipfs.service", "debros-ipfs-cluster.service", "debros-olric.service", "debros-node.service"}
|
||||||
|
|
||||||
// Add appropriate Anyone service based on mode
|
// Add Anyone Relay service if configured
|
||||||
if ps.IsAnyoneRelay() {
|
if ps.IsAnyoneRelay() {
|
||||||
services = append(services, "debros-anyone-relay.service")
|
services = append(services, "debros-anyone-relay.service")
|
||||||
} else {
|
|
||||||
services = append(services, "debros-anyone-client.service")
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Add CoreDNS and Caddy only for nameserver nodes
|
// Add CoreDNS and Caddy only for nameserver nodes
|
||||||
@ -698,9 +685,8 @@ func (ps *ProductionSetup) Phase5CreateSystemdServices(enableHTTPS bool) error {
|
|||||||
// Start infrastructure first (IPFS, Olric, Anyone) - RQLite is managed internally by each node
|
// Start infrastructure first (IPFS, Olric, Anyone) - RQLite is managed internally by each node
|
||||||
infraServices := []string{"debros-ipfs.service", "debros-olric.service"}
|
infraServices := []string{"debros-ipfs.service", "debros-olric.service"}
|
||||||
|
|
||||||
// Add appropriate Anyone service based on mode
|
// Add Anyone Relay service if configured
|
||||||
if ps.IsAnyoneRelay() {
|
if ps.IsAnyoneRelay() {
|
||||||
// For relay mode, check if ORPort is already in use
|
|
||||||
orPort := 9001
|
orPort := 9001
|
||||||
if ps.anyoneRelayConfig != nil && ps.anyoneRelayConfig.ORPort > 0 {
|
if ps.anyoneRelayConfig != nil && ps.anyoneRelayConfig.ORPort > 0 {
|
||||||
orPort = ps.anyoneRelayConfig.ORPort
|
orPort = ps.anyoneRelayConfig.ORPort
|
||||||
@ -711,14 +697,6 @@ func (ps *ProductionSetup) Phase5CreateSystemdServices(enableHTTPS bool) error {
|
|||||||
} else {
|
} else {
|
||||||
infraServices = append(infraServices, "debros-anyone-relay.service")
|
infraServices = append(infraServices, "debros-anyone-relay.service")
|
||||||
}
|
}
|
||||||
} else {
|
|
||||||
// For client mode, check if SOCKS port 9050 is already in use
|
|
||||||
if ps.portChecker.IsPortInUse(9050) {
|
|
||||||
ps.logf(" ℹ️ Port 9050 is already in use (anyone-client or similar service running)")
|
|
||||||
ps.logf(" ℹ️ Skipping debros-anyone-client startup - using existing service")
|
|
||||||
} else {
|
|
||||||
infraServices = append(infraServices, "debros-anyone-client.service")
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
for _, svc := range infraServices {
|
for _, svc := range infraServices {
|
||||||
@ -826,11 +804,8 @@ func (ps *ProductionSetup) LogSetupComplete(peerID string) {
|
|||||||
ps.logf(" Register at: https://dashboard.anyone.io")
|
ps.logf(" Register at: https://dashboard.anyone.io")
|
||||||
ps.logf(" IMPORTANT: You need 100 $ANYONE tokens in your wallet to receive rewards")
|
ps.logf(" IMPORTANT: You need 100 $ANYONE tokens in your wallet to receive rewards")
|
||||||
} else {
|
} else {
|
||||||
ps.logf(" %s/logs/anyone-client.log", ps.oramaDir)
|
|
||||||
ps.logf("\nStart All Services:")
|
ps.logf("\nStart All Services:")
|
||||||
ps.logf(" systemctl start debros-ipfs debros-ipfs-cluster debros-olric debros-anyone-client debros-node")
|
ps.logf(" systemctl start debros-ipfs debros-ipfs-cluster debros-olric debros-node")
|
||||||
ps.logf("\nAnyone Client:")
|
|
||||||
ps.logf(" # SOCKS5 proxy on localhost:9050")
|
|
||||||
}
|
}
|
||||||
|
|
||||||
ps.logf("\nVerify Installation:")
|
ps.logf("\nVerify Installation:")
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user