# Multiple nodes install windows 7

**URL:** <https://forum.storj.io/t/multiple-nodes-install-windows-7/13678>\
**Category:** getting started\
**Tags:** windows-gui, useful-tools, multiple-nodes\
**Created:** [May 5, 2021, 5:18pm UTC](https://forum.storj.io/t/multiple-nodes-install-windows-7/13678 "2021-05-05T17:18:01Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![realcm](https://storj.bcdn.literatehosting.com/letter_avatar/realcm/32/5_5575768a8748004e209b776fc1b2916d.png) [@realcm](https://forum.storj.io/u/realcm)\
**Post date:** [May 5, 2021, 5:18pm UTC](https://forum.storj.io/t/multiple-nodes-install-windows-7/13678/1 "2021-05-05T17:18:01Z")

</div>

I created 2 folders for 2 nodes.  
D:\StorjNode01  
E:\StorjNode02

Then generated identity and authorized nodes.

Now I need help how to install multiple nodes from **cmd.**  
Creating and authorizing node does not create config file.  
GUI install ignores configuration and creates config and revocation files inside of directory with binaries.  
I’m in stupefaction now.  
I need help creating multiple nodes with all config files put in each’s node dedicated folder.  
And I need information how to understand launching storj binary the way which supports multiple nodes. Actually I need to understand how storj binary handles data. Do I need many instances of it to run, or one instance listens to all ports and processes all the data for all the nodes?

I tried to read documentation - it say, follow the rest of the process as if you doing ordinary install. But it if I run GUI install - it offers only to uninstall Storj binary, and doesn’t offer to add another node!

Please give me exact **cmd** commands for creating consistent node metadata structure in dedicated folder for each node, which creates separate config, log, and other files.  
And the **cmd** commands or other startup setup for running multiple nodes from dedicated folder with picking up config file and all other metadata.

Because documentation I saw is very abrupt one.

I try to modify storagenode service with  
`sc config storagenode binPath= "D:\Storj\Bin\Storagenode.exe --config-dir \"D:\StorjNode01\Identity\""`

How to add another node?

Please help!

---

<div class="post-metadata">

**Author:** ![konsou](https://storj.bcdn.literatehosting.com/user_avatar/forum.storj.io/konsou/32/6522_2.png) [@konsou](https://forum.storj.io/u/konsou)\
**Post date:** [May 5, 2021, 6:00pm UTC](https://forum.storj.io/t/multiple-nodes-install-windows-7/13678/2 "2021-05-05T18:00:26Z")

</div>

From what I remember running multiple nodes on Windows is not supported (at least easily) with the original installer. Some people use Storj Toolbox for this: [Releases · TonyTosol/Storj-Node-Toolbox · GitHub](https://github.com/TonyTosol/Storj-Node-Toolbox/releases)

Don’t have hands-on experience with that - I think @Vadim is the author.

---

<div class="post-metadata">

**Author:** ![realcm](https://storj.bcdn.literatehosting.com/letter_avatar/realcm/32/5_5575768a8748004e209b776fc1b2916d.png) [@realcm](https://forum.storj.io/u/realcm)\
**Post date:** [May 5, 2021, 6:02pm UTC](https://forum.storj.io/t/multiple-nodes-install-windows-7/13678/3 "2021-05-05T18:02:44Z")

</div>

> [@konsou](#):
>
> From what I remember running multiple nodes on Windows is not supported (at least easily) with the original installer. Some people use Storj Toolbox for this: [Releases · TonyTosol/Storj-Node-Toolbox · GitHub](https://github.com/TonyTosol/Storj-Node-Toolbox/releases)

I don’t need toolbox. I want to make work in a sane way.  
Please do not offer me side solutions.

---

<div class="post-metadata">

**Author:** ![konsou](https://storj.bcdn.literatehosting.com/user_avatar/forum.storj.io/konsou/32/6522_2.png) [@konsou](https://forum.storj.io/u/konsou)\
**Post date:** [May 5, 2021, 6:12pm UTC](https://forum.storj.io/t/multiple-nodes-install-windows-7/13678/4 "2021-05-05T18:12:37Z")

</div>

`Please note that running multiple nodes is currently not officially supported for Windows GUI installations, though you may find some community made solutions are available on our forum. Please use the Docker CLI setup in order to run multiple nodes. `  
[(From: How can I set up to run multiple storage nodes?)](https://support.storj.io/hc/en-us/articles/360032150431-How-can-I-set-up-to-run-multiple-storage-nodes-)

Docker on Windows is also not a good idea. There have been problems.  
`If you are currently running a storage node on Windows using the Docker desktop, it will require good monitoring. If you are still running a node with Docker, your node may go offline randomly and require restarting your node, so it is recommended you switch to the Windows GUI.`  
[(From: System Requirements)](https://docs.storj.io/node/before-you-begin/prerequisites)

If you want to make it work in “a sane way” you have two options:  
-use the Storj Toolbox  
-use Linux + Docker

---

<div class="post-metadata">

**Author:** ![realcm](https://storj.bcdn.literatehosting.com/letter_avatar/realcm/32/5_5575768a8748004e209b776fc1b2916d.png) [@realcm](https://forum.storj.io/u/realcm)\
**Post date:** [May 5, 2021, 6:17pm UTC](https://forum.storj.io/t/multiple-nodes-install-windows-7/13678/5 "2021-05-05T18:17:22Z")

</div>

> [@konsou](#):
>
> Please note that running multiple nodes is currently not officially supported for Windows GUI installations

Oh man, I never asked for GUI installation, I use **cmd/CLI** installation.

> [@konsou](#):
>
> Docker CLI

I don’t want to hammer my PC with VM.  
It was very slow last time I used it, no need to overcomplicate.

I appreciate your will to help  
But, PLEASE, do not flood topic with inconsistent answers. Thank you.  
I asked for what exactly I want to get answers.

---

<div class="post-metadata">

**Author:** ![kevink](https://storj.bcdn.literatehosting.com/user_avatar/forum.storj.io/kevink/32/6077_2.png) [@kevink](https://forum.storj.io/u/kevink)\
**Post date:** [May 5, 2021, 6:21pm UTC](https://forum.storj.io/t/multiple-nodes-install-windows-7/13678/6 "2021-05-05T18:21:20Z")

</div>

@konsou was trying to be really helpful and gave good answers. Please be nicer to members of the community who are trying to help you. Friendliness can go a long way and people are more willing to help, if you are friendly to them.  
It might just be a language barrier but to me your answers sound a bit rude and ungrateful. If that was completely unintentional, then I’m sorry.

---

<div class="post-metadata">

**Author:** ![realcm](https://storj.bcdn.literatehosting.com/letter_avatar/realcm/32/5_5575768a8748004e209b776fc1b2916d.png) [@realcm](https://forum.storj.io/u/realcm)\
**Post date:** [May 5, 2021, 6:29pm UTC](https://forum.storj.io/t/multiple-nodes-install-windows-7/13678/7 "2021-05-05T18:29:51Z")

</div>

> [@kevink](#):
>
> t might just be a language barrier but to me your answers sound a bit rude and ungrateful. If that was completely unintentional, then I’m sorry.

There is no language barrier.

**The question was:**

> Please give me exact **cmd** commands for creating consistent node metadata structure in dedicated folder for each node, which creates separate config, log, and other files.  
> And the **cmd** commands or other startup setup for running multiple nodes from dedicated folder with picking up config file and all other metadata.

And before this I stated:

> Actually I need to understand how storj binary handles data. Do I need many instances of it to run, or one instance listens to all ports and processes all the data for all the nodes?

For the reason:

> Because documentation I saw is very abrupt one.

I already did progress by looking into gui toolbox screenshots - it creates services with the same binary.  
So I figured out that single service is not supposed to handle multiple nodes.  
And I found the way to modify service with **sc**.  
Now I need **actual help** with service creation and config parameters.  
Basically I do same thing as toolbox does.  
But I want to understand how to manage it without side solutions.  
I’d rather rely on my own scripts than be blaming someone else for bugs…

---

<div class="post-metadata">

**Author:** ![kevink](https://storj.bcdn.literatehosting.com/user_avatar/forum.storj.io/kevink/32/6077_2.png) [@kevink](https://forum.storj.io/u/kevink)\
**Post date:** [May 5, 2021, 6:41pm UTC](https://forum.storj.io/t/multiple-nodes-install-windows-7/13678/8 "2021-05-05T18:41:19Z")

</div>

Not sure how many people have experience with that. Maybe @Vadim can help since he created the toolbox.

---

<div class="post-metadata">

**Author:** ![Vadim](https://storj.bcdn.literatehosting.com/letter_avatar/vadim/32/5_5575768a8748004e209b776fc1b2916d.png) [@Vadim](https://forum.storj.io/u/Vadim)\
**Post date:** [May 5, 2021, 6:45pm UTC](https://forum.storj.io/t/multiple-nodes-install-windows-7/13678/9 "2021-05-05T18:45:00Z")

</div>

Hello.

Toolbox is app that with sc command create nodes, just all hard work is behind the scene.  
you dont need tolbox to run nodes anfter install, it is just app with usfull tools

---

<div class="post-metadata">

**Author:** ![Vadim](https://storj.bcdn.literatehosting.com/letter_avatar/vadim/32/5_5575768a8748004e209b776fc1b2916d.png) [@Vadim](https://forum.storj.io/u/Vadim)\
**Post date:** [May 5, 2021, 6:49pm UTC](https://forum.storj.io/t/multiple-nodes-install-windows-7/13678/10 "2021-05-05T18:49:32Z")

</div>

also you will need take to account that updater will not update aditional nodes, as it hardcoded to updater update only main node.

---

<div class="post-metadata">

**Author:** ![Alexey](https://storj.bcdn.literatehosting.com/user_avatar/forum.storj.io/alexey/32/41_2.png) [@Alexey](https://forum.storj.io/u/Alexey)\
**Post date:** [May 5, 2021, 6:57pm UTC](https://forum.storj.io/t/multiple-nodes-install-windows-7/13678/11 "2021-05-05T18:57:40Z")

</div>

You need to have two unique signed identities.

To setup data folders and create a `config.yaml` you will be forced to use `storagenode.exe setup`, you can see what options you should specify with `storagenode.exe setup --help`.  
When all data structure is created, and `config.yaml` too, you can run it with `storagenode.exe run --config-dir D:\StorjNode01`  
Then you can create a service with PowerShell command `New-Service`, I would not give you exact parameters, but something like:

```auto
New-Service -Name Node01 -BinaryPathName '"C:\Program Files\Storj\Storage Node\storagenode.exe" run --config-dir "D:\StorjNode01\\"'

```

Then you need to setup an `storagenode-updater` like:

```auto
New-Service -Name Node01-updater -BinaryPathName '"C:\Program Files\Storj\Storage Node\storagenode-updater.exe" run --config-dir "D:\StorjNode01\\" --binary-location "C:\Program Files\Storj\Storage Node\storagenode.exe" --log.output "winfile:///D:\StorjNode01\storagenode-updater.log" --service-name "Node01"'

```

Unfortunately I cannot give you a way, how to make updater update itself, if its service name is not `storagenode-updater`. But it at least could update specified storagenode.

The same way for the second node. But executables should be in a different folder for the second node, otherwise updater will not update any of them, but can successfully stop them.

I do not guarantee that described above would work, because it’s not tested. You can do it on own risk.

_Note._ **The `storagenode.exe setup` step is mandatory with path to the identity and its data.**

---

<div class="post-metadata">

**Author:** ![realcm](https://storj.bcdn.literatehosting.com/letter_avatar/realcm/32/5_5575768a8748004e209b776fc1b2916d.png) [@realcm](https://forum.storj.io/u/realcm)\
**Post date:** [May 5, 2021, 7:43pm UTC](https://forum.storj.io/t/multiple-nodes-install-windows-7/13678/12 "2021-05-05T19:43:53Z")

</div>

> [@Alexey](#):
>
> _Note._ **The `storagenode.exe setup` step is mandatory with path to the identity and its data.**

Why is that so?  
If storagenode.exe runs as service in separate address spaces, why can’t be just created scripts to launch it from detachable storage with nodes?  
I actually had run storagenode.exe from bat script as ordinary process, and it worked.  
But setup was quite a messy, because I had to move config and certificate files.  
If it does not install any special dlls into system folder - it may be ran from detachable storage.

---

<div class="post-metadata">

**Author:** ![Alexey](https://storj.bcdn.literatehosting.com/user_avatar/forum.storj.io/alexey/32/41_2.png) [@Alexey](https://forum.storj.io/u/Alexey)\
**Post date:** [May 5, 2021, 7:51pm UTC](https://forum.storj.io/t/multiple-nodes-install-windows-7/13678/13 "2021-05-05T19:51:09Z")

</div>

> [@realcm](#):
>
> Why is that so?

Because it creates needed folders structure and file `storage-dir-verification` containing your NodeID in binary form in the data location.  
It’s unique for identity.  
You must use unique signed identity for each node, otherwise it will be disqualified almost instantly.  
It also creates `config.yaml` with all specified parameters in `storagenode.exe setup` command.  
The setup should be performed once per identity’s life.

---

<div class="post-metadata">

**Author:** ![realcm](https://storj.bcdn.literatehosting.com/letter_avatar/realcm/32/5_5575768a8748004e209b776fc1b2916d.png) [@realcm](https://forum.storj.io/u/realcm)\
**Post date:** [May 5, 2021, 9:16pm UTC](https://forum.storj.io/t/multiple-nodes-install-windows-7/13678/14 "2021-05-05T21:16:17Z")

</div>

> [@Alexey](#):
>
> The setup should be performed once per identity’s life.

I don’t understand what exactly word **storagenode** means in context of identity.exe authorize storagenode.  
I give --identity-dir=“D:\StorjNode01\Identity” but I got error as result:  
“D:\StorjNode01\Identity\storagenode\ca.cert” The system cannot file path specified.

`Identity.exe create storagenode --identity-dir="D:\StorjNode01\Identity"`  
created certificates inside of `D:\StorjNode01\Identity\identity`

If I will give it ` identity.exe --identity-dir="D:\StorjNode01\Identity" authorize identity ...`  
does it mean that `storagenode` and `identity` are somehow act as identifiers of nodes?

Is it name of the folder where node’s metadata is created and name of the node itself at the same time?

---

<div class="post-metadata">

**Author:** ![Alexey](https://storj.bcdn.literatehosting.com/user_avatar/forum.storj.io/alexey/32/41_2.png) [@Alexey](https://forum.storj.io/u/Alexey)\
**Post date:** [May 5, 2021, 9:25pm UTC](https://forum.storj.io/t/multiple-nodes-install-windows-7/13678/15 "2021-05-05T21:25:22Z")

</div>

This is name of the identity folder.  
For your example it should be

```auto
identity.exe --identity-dir="D:\StorjNode01" authorize Identity your@email:remainedPartOfTheAuthorizationToken

```

---

<div class="post-metadata">

**Author:** ![realcm](https://storj.bcdn.literatehosting.com/letter_avatar/realcm/32/5_5575768a8748004e209b776fc1b2916d.png) [@realcm](https://forum.storj.io/u/realcm)\
**Post date:** [May 5, 2021, 9:46pm UTC](https://forum.storj.io/t/multiple-nodes-install-windows-7/13678/16 "2021-05-05T21:46:55Z")

</div>

> [@Alexey](#):
>
> `identity.exe --identity-dir="D:\StorjNode01" authorize Identity `

No it didn’t work that way.  
It creates subfolder with default name “identity”.

It worked only with  
`identity.exe --identity-dir="D:\StorjNode01\Identity" authorize identity`  
Since it has created subfolder D:\StorjNode01\Identity\ **identity**

When given params like  
`--config-dir="D:\StorjNode01\Identity" --identity-dir="D:\StorjNode01\Identity"` it seems to be ignoring second param storagenode which given in tutorial:  
`./identity.exe create storagenode`

If I want all metadata files to be in single directory I give command:  
`identity.exe --config-dir="D:\StorjNode01\Identity" --identity-dir="D:\StorjNode01\Identity" --signer.tls.revocation-dburl="bolt://D:\StorjNode01\Identity\revocations.db" create storagenode`

Here I already set config dir and identity dir. So what sense second param “storagenode” means here? There is no folder “storagenode” ever created by this.

And why did it create subfolder with name ‘identity’? I already told it where to create identity files.

There is also an inconsistency in error messages:  
`"error creating revocation database: revocation database error: boltdb error: open"`  
But it is atually the revocation **s** database and its file name is  
revocation **s**.db

---

<div class="post-metadata">

**Author:** ![Vadim](https://storj.bcdn.literatehosting.com/letter_avatar/vadim/32/5_5575768a8748004e209b776fc1b2916d.png) [@Vadim](https://forum.storj.io/u/Vadim)\
**Post date:** [May 5, 2021, 10:10pm UTC](https://forum.storj.io/t/multiple-nodes-install-windows-7/13678/17 "2021-05-05T22:10:32Z")

</div>

it is izie, if you need identitie in new folder then identity.exe create storagenode1 it will create folder storagenode1

---

<div class="post-metadata">

**Author:** ![realcm](https://storj.bcdn.literatehosting.com/letter_avatar/realcm/32/5_5575768a8748004e209b776fc1b2916d.png) [@realcm](https://forum.storj.io/u/realcm)\
**Post date:** [May 7, 2021, 12:36am UTC](https://forum.storj.io/t/multiple-nodes-install-windows-7/13678/18 "2021-05-07T00:36:30Z")

</div>

> [@Vadim](#):
>
> it is izie, if you need identitie in new folder then identity.exe create storagenode1 it will create folder storagenode1

> [@Alexey](#):
>
> This is name of the identity folder.

I want to put identities for StorjNode01 inside of `D:\StorjNode01\Identity`  
folder.  
I tried all variants, but never could get what I want.  
`identity.exe --identity-dir="D:\StorjNode01\Identity" create StorjNode01`  
Puts files into `D:\StorjNode01\Identity\StorjNode01`

But I need them inside of `D:\StorjNode01\Identity`  
What args should I give to identity.exe in order to achieve desired result?

**Solved by xcopy, del, rmdir.**

It DOESNT WORK!  
`identity.exe --identity-dir="D:\StorjNode01\Identity" authorize StorjNode01`  
`Error: file or directory not found error: open D:\StorjNode01\Identity\StorjNode01\ca.cert: The system cannot find the path specified.`

---

<div class="post-metadata">

**Author:** ![Vadim](https://storj.bcdn.literatehosting.com/letter_avatar/vadim/32/5_5575768a8748004e209b776fc1b2916d.png) [@Vadim](https://forum.storj.io/u/Vadim)\
**Post date:** [May 7, 2021, 4:48am UTC](https://forum.storj.io/t/multiple-nodes-install-windows-7/13678/19 "2021-05-07T04:48:22Z")

</div>

why you just not copy it manualy there?

---

<div class="post-metadata">

**Author:** ![realcm](https://storj.bcdn.literatehosting.com/letter_avatar/realcm/32/5_5575768a8748004e209b776fc1b2916d.png) [@realcm](https://forum.storj.io/u/realcm)\
**Post date:** [May 7, 2021, 4:52am UTC](https://forum.storj.io/t/multiple-nodes-install-windows-7/13678/20 "2021-05-07T04:52:58Z")

</div>

> [@Vadim](#):
>
> why you just not copy it manualy there?

Why it duplicates directory name?  
It is just stupid: D:\StorjNode01\Identity\StorjNode01\ - isn’t it?

Why would I copy it manually?

- I need automation…

Why it puts number into quotes?  
–console.address=15010  
# server address of the api gateway and frontend app  
console.address: “15010”

Why? Why? Why?

–server.address string public address to listen on (default “:7777”)  
but actual port is 28967

storagenode.exe setup  
seems to be ignoring  
–storage2.trust.cache-path=trust-cache.json  
–storage2.orders.path

[Next page](https://forum.storj.io/t/multiple-nodes-install-windows-7/13678.md?page=2)
