Requirements to run your own shared node :
1- VPS ( tested on 2cpu + 4 gb ram )
2- git + npm + wget + screen + nano packages installed
( use this to install them apt install git npm wget nano screen -y
)
3- have a linked domain in cloudflare (see this for instructions ) Or see this to expose the shared node without having a domain
Now let's get to the steps .
Step 1 : Connect to your vps
Step 2 : run apt update
( to update the packages list )
Step 3 : download the latest node
Command : wget https://github.com/idena-network/idena-go/releases/download/v0.23.1/idena-node-linux-0.23.1

and then we give the node the required permission
see the image above

Command : chmod +x idena-node-linux-0.23.1
Step 4 : Create the config file
Command : nano config.json
and then we paste this
{"IpfsConf":{"Profile": "server" ,"FlipPinThreshold":1},"Sync": {"LoadAllFlips": true}}
This is a very important step
see the image above

Now save the file using Ctrl + X
> y
> Enter
Step 5 : Run the node using screen
Command : screen ./idena-node-linux-0.23.1 --config=config.json
see the image above

Notice : You can also add more options like a custom rpc port or custom Api Key
see this for more details
You will have now to detach the process using Ctrl + a + d
Step 6 : copy the new generated Api Key
unless you have using a custom one with the cli parameter -apikey=
Command : nano datadir/api.key
Copy it somewhere as we will use it later
Step 7 : clone the idena-node-proxy repo
Command : git clone https://github.com/idena-network/idena-node-proxy
see the image above

Step 8 : install pm2 globally ( a node process manager )
Command : npm i -g pm2
Step 9 : create the .env
config file inside the idena-node-proxy folder
We need now to create the config file using nano .env
see the above example
AVAILABLE_KEYS=["API_KEY_1","API_KEY_2"]
IDENA_URL="http://localhost:PORT"
IDENA_KEY="API_KEY"
PORT=80
API_KEY
: Your node's api key.
API_KEY_1
and API_KEY_2
: The Api Keys you are going to share (Important).
PORT
: Your node's rpc port.
see the image above

Now save the file using Ctrl + X
> y
> Enter
Step 10 : install the required packages for the script
Command : npm install
Step 11 : run the proxy
Command : npm start
see the image above

Notices :
1- to shut down the proxy you will have to run this pm2 delete idena-node-proxy
2- If you can't see the online status on the output of the last command ( the npm start
command ) then you might have another process using that port .. Ex : Nignx
Warnings :
1- You have to make sure that you have ssl enabled .. see this for instructions Or see this if you don't have a domain
2- If you are not using root then you will have to use sudo for some commands.
3- Each key should be sent to 1 user only ! - more than 1 may cause a failed validation.
4- You can't use idena-manager to run the node cause it's always going to generate a new config each time.
5- You must have node version 0.23.1 or newer version.
for further support please contact @RealMahmoud or @Andrew_Idena or just post the issue you have on the forum.