Views: 1484

Node Setup Instructions

Get your node up and running in just a few minutes on your computer.

We’re excited to have you be a part of the future of search. Tens of thousands of nodes are already being operated by beta testers, and these nodes provide the infrastructure for the Presearch Engine Testnet, which can be searched via: https://testnet-engine.presearch.org.

General assumptions

  • Running a node is recommended on computers powered on 24/7 due to uptime score statistics.
  • Installation or management of a node can be done over any operating system (Windows, Mac, Linux, other of your choice) as long as you can access the underlying docker application
  • There is no limit for number of nodes one account could operate
  • There is no preferred setup as the main goal of the project is to support decentralization

Installation options

If you have any questions, you can join our helpful nodes telegram group or discord #node.

Before you continue the node setup process, it is good to decide where your node would be running. Typical setups are following:

  • VPS – Virtual Private Server runnng Linux operating system directly utilizing native Docker application
    • Cons – can be costly, need to select a cost-friendly provider or free-tier service
    • Pros – runs within cloud or datacenters, no electicity bills
  • Home computer running Windows or Mac operating system with Docker Desktop application
    • Cons – computer needs to bu running 24/7, electricity bils, utilizes your network
    • Pros – can be executed almost immediately,
  • PREberry (or Raspberry Pi models 3 or 4)
    • Cons – utilizes your network
    • Pros – minimal power consumtion
  • Decentralized container solution like ThreeFold.io with prebuilt Presearch nodes
    • Cons – harder to obtain, limited support from Presearch
    • Pros – inovative, decentralized, less costly, no electricity bills

Required toolset

If you prefer to use your home computer, installation is done locally

  • Windows – Powershell or Command Line
  • Mac – Terminal or any other console application
  • Linux – Console or any other similar application

If you prefer to use VPS machine, installation is done over SSH client application

  • Windows – Putty or any other of your choice
  • Mac – Terminal or any other of your choice
  • Linux – Console or any other of your choice

Presearch Tutorial

Please refer to the subchapter dedicated for each type of installation:

Generic setup steps

1. Install Docker [Linux/PREberry] or Docker Desktop [Windows/Mac] on your target machine of your choice (see the options above)

2. Get your node registration code at https://nodes.presearch.org/dashboard.

3. Run the node start commands below in your terminal to install your node [ See tutorials for how to open terminal on Mac & Windows ]

Copy/Paste the operating-system-specific command below into your terminal:

Linux/Mac/PREberry/Windows-Powershell

Windows-Command Line

docker stop presearch-node ; docker rm presearch-node ; docker stop presearch-auto-updater ; docker rm presearch-auto-updater ; docker run -d --name presearch-auto-updater --restart=unless-stopped -v /var/run/docker.sock:/var/run/docker.sock presearch/auto-updater --cleanup --interval 900 presearch-auto-updater presearch-node ; docker pull presearch/node ; docker run -dt --name presearch-node --restart=unless-stopped -v presearch-node-storage:/app/node -e REGISTRATION_CODE=$YOUR_REGISTRATION_CODE_HERE presearch/node ; docker logs -f presearch-node

IMPORTANT: You must insert your registration code from step #2 above into the script by replacing the text$YOUR_REGISTRATION_CODE_HEREwith your actual registration code. So, for example, if your registration code is XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX then the final command would contain the text REGISTRATION_CODE=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX .

The above command installs two services on your computer, the presearch-node and the presearch-auto-updater, and configure both of them to be always running in the background.

The presearch-node actually runs the decentralized search software, whereas the presearch-auto-updater is responsible for automatically upgrading the presearch-node to the newest versions when released to ensure the node stays up to date and can continue to connect to the Presearch network.

Common issues

  • Executig installation under wrong environement
    • Using Linux / Mac / Windows – Powershell commands under Windows – Command Line and vice-versa
  • Typo with registration code
    • API key being pasted instead of registration code
    • blank space between = and code itself
    • forgotten $ right after =
    • excluded part of registration code / omiited characters
    • remove part of the installation instruction (ea. “presearch/node” after the code)

Running Searches

Keep an eye on the running node output and you’ll eventually see incoming searches (“Success! …”). You can run searches yourself at https://testnet-engine.presearch.org, though keep in mind these will be distributed across all nodes in the Testnet, not just yours.

Managing your Node

The command in the setup instructions configured your node to run as a background service. This means you can close your terminal and it will continue running as long as your system is up and haven’t manually stopped your node.

If you would like to see the output of your node at any point you can run the following command:

See current node output: docker logs -f presearch-node

To stop your node and the presearch-auto-updater manually, run the following commands in your terminal:

Manually stop your node:

docker stop presearch-node docker stop presearch-auto-updater

To restart a manually-stopped node, run the following command:

Restart your stopped node: docker start presearch-auto-updater docker start presearch-node

If you would like to see if your node or the presearch-auto-updater are running, run the following command: Check if the node services are running: docker ps

Finally, if you run into any problems with your node, you can always run the installation script again from the setup instructions section if needed. Your node identity will be preserved, but should will get your node upgraded, reinstalled, and over most configuration issues you may encounter.

Hardware Specification

  1. 1.Docker image is only for 64bit architectures like x64 / ARM64 based CPU’s for now.
  2. 2.Raspberry Pi Models 3/4 are also supported when running the 64-bit Raspberry Pi operating system.
  3. 3.Nodes were successfully installed on VPS machines with minimal resources:
    • 1 CPU
    • 768 MB RAM (under minimized OS editions even 512 MB RAM)
    • 10 GB storage
    • 100+ Mbit network link

Setup Nodes Through VPS

Running Multiple Nodes

You are more than welcome to run as many nodes as you would like under your Presearch account. You can reuse the same Registration Code to launch each node, subject to the following limitations:

  • You may only run one node per server at a time. Presearch will only allow one connection per public IP (v4) address at the same time, so if you want to disconnect a second node from the same IP address you’ll need to stop the other node first. IPv6 addresses are currently not supported.
  • You must include a valid Registration Code on the first run of each node to initialize it and attach it to your Presearch account. When the node software runs for the first time, it creates a public/private key pair to uniquely identify your node on subsequent requests.
  • You can optionally change your Registration Code at any time by clicking “Generate Replacement Code” on the Nodes Dashboard. Any prior nodes initialized with the old Registration Code will continue to work, but the old code will no longer be able to initialize any new nodes.
  • You may not run the same node simultaneously on multiple servers. If you initialize a node and then copy the initialized node to another server (which transfers the node’s unique public/private key identifiers), this creates a copy of the same node identity on both servers. If you try to run both at the same time, the Presearch Engine will reject the second one until the first disconnects.