Introduction The Docker container has the software you need to run your Storage Node.
Step 1. Download the Storage Node Docker Container docker pull storjlabs/storagenode:latest
Step 2. Set up the Storage Node
The setup step must be performed only once. If a node has already been set up, running with the SETUP flag will result in failure .
A network-attached storage location may work, but this is neither supported nor recommended!
Linux Users: You must static mount via /etc/fstab. Failure to do so will put you in high risk of failing audits and getting disqualified. Here's how to do that:
Copy the command into a plain text editor like a nano :
docker run --rm -e SETUP="true" \
--user $(id -u):$(id -g) \
--mount type=bind,source="<identity-dir>",destination=/app/identity \
--mount type=bind,source="<storage-dir>",destination=/app/config \
--name storagenode storjlabs/storagenode:latest
Copy the command into a plain text editor (do not use any word processors include Notes):
docker run --rm -e SETUP="true" \
--user $(id -u):$(id -g) \
--mount type=bind,source="<identity-dir>",destination=/app/identity \
--mount type=bind,source="<storage-dir>",destination=/app/config \
--name storagenode storjlabs/storagenode:latest
Copy the command into a plain text editor (the Notepad++ is recommended), do not use any word processor:
docker run --rm -e SETUP="true" --mount type=bind,source="<identity-dir>",destination=/app/identity --mount type=bind,source="<storage-dir>",destination=/app/config --name storagenode storjlabs/storagenode:latest
2. Replace the <identity-dir> and <storage-dir> with your parameters.
3. Copy the updated command.
4. Run it in a terminal window.
5. Your node has been set up!
Step 3. Run the Storage Node
Previous versions of the command that used the rather than the option will not work properly. Copy the updated command below.
1. Copy the command into a plain text editor, like a nano :
docker run -d --restart unless-stopped --stop-timeout 300 \
-p 28967:28967/tcp \
-p 28967:28967/udp \
-p 127.0.0.1:14002:14002 \
-e WALLET="0xXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" \
-e EMAIL="user@example.com" \
-e ADDRESS="domain.ddns.net:28967" \
-e STORAGE="2TB" \
--user $(id -u):$(id -g) \
--mount type=bind,source="<identity-dir>",destination=/app/identity \
--mount type=bind,source="<storage-dir>",destination=/app/config \
--name storagenode storjlabs/storagenode:latest
1. Copy the command into a plain text editor (do not use any word processors include Notes):
docker run -d --restart unless-stopped --stop-timeout 300 \
-p 28967:28967/tcp \
-p 28967:28967/udp \
-p 127.0.0.1:14002:14002 \
-e WALLET="0xXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" \
-e EMAIL="user@example.com" \
-e ADDRESS="domain.ddns.net:28967" \
-e STORAGE="2TB" \
--user $(id -u):$(id -g) \
--mount type=bind,source="<identity-dir>",destination=/app/identity \
--mount type=bind,source="<storage-dir>",destination=/app/config \
--name storagenode storjlabs/storagenode:latest
Copy the command into a text editor (the Notepad++ is recommended), do not use any word processor:
docker run -d --restart unless-stopped --stop-timeout 300 -p 28967:28967/tcp -p 28967:28967/udp -p 127.0.0.1:14002:14002 -e WALLET="0xXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" -e EMAIL="user@example.com" -e ADDRESS="domain.ddns.net:28967" -e STORAGE="2TB" --mount type=bind,source="<identity-dir>",destination=/app/identity --mount type=bind,source="<storage-dir>",destination=/app/config --name storagenode storjlabs/storagenode:latest
2. Edit the WALLET , EMAIL , ADDRESS , STORAGE and replace the <identity-dir> , and <storage-dir> with your parameters.
3. Copy the updated command.
4. Run it in a terminal window.
5. You're officially a Storage Node operator! 🎉
You can also check to see if the node was started properly by by running the following command in the terminal
Step 4. Check the status of your node You can check the status of your node, along with many other statistics by running the web . It will look like this: