I wrote the migration order from Windows to QNAP

I am operating a Synology node and a Windows node. Since Windows Node seems to be difficult for beginners to manage, I decided to convert Windows Node to Qnap.
I thought it would be good to get some help before moving it, so I wrote it in order, so if there are any mistakes or anything to add, please let me know.

I plan to migrate the files installed on Windows to RoboCopy using the USB QuickAccess function of the qnap ts251a and then install the Qnap Storage Node.

windows : NFTS
Qnap : EXT4

  • Storage locations across operating systems

windows : "%AppData%\Storj\Identity\storagenode
Qnap : /share/storj/identity

windows : C:\Program Files\Storj\Storage Node\orders
Qnap : /share/storj/data/orders

windows : D:\ ( storj data, Ex_: blobs, garbage,temp…)
Qnap : /share/storj/data/storage


robocopy "%AppData%\Storj\Identity\storagenode" E:\storj\identity /MIR

robocopy "%ProgramFiles%\Storj\Storage Node\orders" E:\storj\data\orders /MIR

robocopy D:\storagenode E:\storj\data\storage /MIR
  • Repeat 3-4 times
windows node exit ( CMD : net stop storagenode)

robocopy D:\storagenode E:\storj\data\storage /MIR
  • Install Qnap storage node




(The Z: drive in the screenshot is the location of the node where Synology docker is currently running, and the folder location will be the same for Qnap.)

docker run -d --restart unless-stopped --stop-timeout 300 \

-p 28967:28967/tcp \

-p 28967:28967/udp \

-p 14002:14002 \


-e EMAIL="user@example.com" \

-e ADDRESS="“domain.ddns.net:28967"” \

-e STORAGE="“14.5TB"” \

--log-driver json-file \
--log-opt max-size=10m \
--log-opt max-file=5 \
--mount type=bind,source="/share/storj/identity",destination=/app/identity \
--mount type=bind,source="/share/storj/data",destination=/app/config \
--name storagenode storjlabs/storagenode:latest

I wrote it in the order of application, but if you have anything to add, please let me know. Thank you.

Please, do not use a QNAP App, use a docker CLI instead: CLI Install - Storj Docs or at least using a docker-compose format:

This is not needed. Especially - config.yaml, it has wrong paths, or you need to update it, so it’s better to do not have it, because it will be created on the first start if it doesn’t exist.

You must not execute the SETUP step for the worked node! You may destroy it, if any path would be wrong! So, please NEVER run it in the second time for the same identity.

it should be /share/storj/data, the storage subfolder will be used by the container automatically.

Also make sure that you use a straight quotes ", not the curly ones like and , also two dashes -- not En Dashes like or Em Dashes like .
In short - use a plain text editor or Visual Studio Code or Notepad++ to edit or form the command. All word processors would try to convert every special symbol to a fancy one, but incompatible with the Terminal.

1 Like

Does this mean that you should not use the setup command when moving from windows node → Qnap node? (I thought I had to use the setup command since this was my first time installing a program in qnap)

Thanks for your reply. :slight_smile:

You should use this step only one time, when you generated and signed an identity, and never again.

1 Like

I installed the Synology node via SSH and am planning to install Qnap via SSH as well. Since it is the same Linux family, I think it will be similar. (Thanks to Alexey, I feel like I’ve moved on from being a complete beginner.)

1 Like

Thank you so much. :cowboy_hat_face:

1 Like

There is a third-party QNAP App, but it’s not maintained, so it likely will not work. Moreover - it’s a fancy wrapper around docker to run an identity generator and later - the storagenode container, but it’s not a native storagenode app.
As far as I remember, it missing the SETUP step, if you setup a new node (not the existing!). I’m not sure that it allows to install the existing though.

1 Like

I didn’t know it would take this long to move files. The speed is 15GB per hour. At the current speed, it will take more than 10 days for the data to be completed… :woozy_face:

Yep, this is why we suggest to do it online:

And for Windows to Linux migration specifically:

1 Like

Should I have done it remotely using rsync instead of robocopy?

Doesn’t matter, they works the same way. The main point - you do not required to be offline during the copy process. But you need to execute it several times to have as less discrepancy, as possible. You may also reduce the allocation below the usage - it will not accept new uploads and reduce the amount of modifications.

1 Like

Ah, I understand. Of course, the Windows node is currently online. The move to Qnap is being moved to USB connect separately. I think operating with an external hard drive caused a lot of problems.

Next time, I think I will only operate with Docker…

1 Like

welcome to

1 Like