<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://betaardordocs.jelurida.com/index.php?action=history&amp;feed=atom&amp;title=How_to_deploy_IPFS_node</id>
	<title>How to deploy IPFS node - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://betaardordocs.jelurida.com/index.php?action=history&amp;feed=atom&amp;title=How_to_deploy_IPFS_node"/>
	<link rel="alternate" type="text/html" href="https://betaardordocs.jelurida.com/index.php?title=How_to_deploy_IPFS_node&amp;action=history"/>
	<updated>2026-05-14T20:06:35Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.39.10</generator>
	<entry>
		<id>https://betaardordocs.jelurida.com/index.php?title=How_to_deploy_IPFS_node&amp;diff=12867&amp;oldid=prev</id>
		<title>Stefan at 08:47, 20 April 2021</title>
		<link rel="alternate" type="text/html" href="https://betaardordocs.jelurida.com/index.php?title=How_to_deploy_IPFS_node&amp;diff=12867&amp;oldid=prev"/>
		<updated>2021-04-20T08:47:57Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;lt;languages /&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
{{#seo:&lt;br /&gt;
|title=How to install and deploy IPFS node&lt;br /&gt;
|titlemode=replace&lt;br /&gt;
|keywords=IPFS, IPFS node, IPFS documentation, blockchain, proof of stake, ardor, ignis, jelurida, development, ardor wiki, wiki, tutorials, advanced tutorials&lt;br /&gt;
|description=Detailed explanation step by step for deploying an IPFS node&lt;br /&gt;
}}&lt;br /&gt;
[[Category:Advanced_guides]]&lt;br /&gt;
__TOC__&lt;br /&gt;
== Introduction ==&lt;br /&gt;
The InterPlanetary File System (IPFS) is a protocol and peer-to-peer network for storing and sharing data in a distributed file system. IPFS uses content-addressing to uniquely identify each file in a global namespace connecting all computing devices.&lt;br /&gt;
&lt;br /&gt;
IPFS allows users to not only receive but host content, in a similar manner to BitTorrent. As opposed to a centrally located server, IPFS is built around a decentralized system of user-operators who hold a portion of the overall data, creating a resilient system of file storage and sharing. Any user in the network can serve a file by its content address, and other peers in the network can find and request that content from any node who has it using a distributed hash table (DHT).&lt;br /&gt;
&lt;br /&gt;
For more detailed info, you can visit the IPFS [https://docs.ipfs.io/concepts/what-is-ipfs/ webpage].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
IPFS can be installed and deployed via several methods:&lt;br /&gt;
&lt;br /&gt;
1. IPFS [https://docs.ipfs.io/install/ipfs-desktop/ Desktop]&lt;br /&gt;
&lt;br /&gt;
2. IPFS [https://docs.ipfs.io/install/ipfs-companion/#install Companion], a browser extension that simplifies access to IPFS resources and adds support for the IPFS protocol.&lt;br /&gt;
&lt;br /&gt;
3. IPFS [https://docs.ipfs.io/install/command-line/ Command-line]&lt;br /&gt;
&lt;br /&gt;
The installations are explained in details in the IPFS webpage, please refer to the links above.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Deployment ==&lt;br /&gt;
If you decided to use IPFS Desktop or Companion, then the deployment is done automatically for you, however, the command-line method requires a bit more. Please visit the [https://docs.ipfs.io/how-to/command-line-quick-start/ docs.ipfs.io page] for detailed instructions.&lt;br /&gt;
&lt;br /&gt;
===Deploying more nodes===&lt;br /&gt;
You don&amp;#039;t need a second machine/ip in order to deploy another IPFS node. Yes, that&amp;#039;s right, you can deploy as many nodes as you like on one machine, but there are some configurations, which have to be modified.&lt;br /&gt;
&lt;br /&gt;
Let&amp;#039;s say that you already deployed a node, it is running and visible to other nodes on the IPFS network. Now if we open another terminal window and try to start another &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;ipfs daemon&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;, we will get this error:&lt;br /&gt;
&lt;br /&gt;
[[File:More nodes4.jpg|class=img-responsive|]]&lt;br /&gt;
&lt;br /&gt;
This basically means that we cannot run more than one node from the &amp;#039;&amp;#039;ipfs&amp;#039;&amp;#039; folder, but if we want, we should initialize new node in another folder. Let&amp;#039;s open open another terminal window and run the command &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;IPFS_PATH=~/.ipfs2 ipfs init&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;. As you can see, we changed the &amp;#039;&amp;#039;default path&amp;#039;&amp;#039; of the ipfs and now we created a new node at ~/.ipfs2: &lt;br /&gt;
&lt;br /&gt;
[[File:More nodes5.jpg|class=img-responsive|]]&lt;br /&gt;
&lt;br /&gt;
[[File:More nodes1.jpg|class=img-responsive|]]&lt;br /&gt;
&lt;br /&gt;
The name &amp;#039;&amp;#039;ipfs2&amp;#039;&amp;#039; can be whatever you like, not necessary to be that specific one, it&amp;#039;s just the directory of the second node.&lt;br /&gt;
&lt;br /&gt;
Now let&amp;#039;s open the &amp;#039;&amp;#039;ipfs2&amp;#039;&amp;#039; folder, inside there should be a config file:&lt;br /&gt;
&lt;br /&gt;
[[File:More nodes2.jpg|class=img-responsive|]]&lt;br /&gt;
&lt;br /&gt;
Open the file, it&amp;#039;s the configuration of the node - &amp;#039;&amp;#039;Peer ID, Api, Adresses, Swarm, etc.&amp;#039;&amp;#039;. We are looking for the &amp;#039;&amp;#039;Adresses&amp;#039;&amp;#039; config, should be on line 39:&lt;br /&gt;
&lt;br /&gt;
[[File:More nodes3 1.jpg|class=img-responsive|]]&lt;br /&gt;
&lt;br /&gt;
The modifications, which have to be made, in order for the second node to run, are to change the Ports of the &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;Swarm, API and Gateway&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; configs, so they can be different from the default ones (4001, 5001, 8080):&lt;br /&gt;
&lt;br /&gt;
[[File:More nodes6.jpg|class=img-responsive|]]&lt;br /&gt;
&lt;br /&gt;
As you can see, we changed the default Ports - 4001 to 4002, 5001 to 5002 and 8080 to 8081. Of course, you can choose other numbers, as long as they are different from de defaults and not interfere with other Ports.&lt;br /&gt;
&lt;br /&gt;
Now let&amp;#039;s open another terminal window and try to take the node online. The important thing to be remembered here is that the PATH to the second node should always be specified, when trying to run commands on it - &lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;IPFS_PATH=~/.ipfs2 [command]&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
&lt;br /&gt;
[[File:More nodes7.jpg|class=img-responsive|]]&lt;br /&gt;
&lt;br /&gt;
And there we go, our second node is online, now open another terminal window and run &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;ipfs swarm peers&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; command (remember to specify the PATH):&lt;br /&gt;
&lt;br /&gt;
[[File:More nodes8.jpg|class=img-responsive|]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===File transfer between nodes===&lt;br /&gt;
With our two nodes up and running, let&amp;#039;s do a simple test and try to transfer a file between them. Of course we can use the command-line commands, but let&amp;#039;s see how the Web UI can handle this. Open your browser and make two tabs, the first with &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;localhost:5001/webui&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; URL, and the second with &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;localhost:5002/webui&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; (or your port, if it&amp;#039;s different from 5002).&lt;br /&gt;
&lt;br /&gt;
Choose the node, where you want to upload a file, open the &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;FILES&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; menu on the left and on the right there should be &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;Import&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; button. Click on it, choose &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;File&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; from the dropdown menu and then select the file, which you want to upload. In the image below, we chose &amp;#039;&amp;#039;nxt_db.txt&amp;#039;&amp;#039; file.&lt;br /&gt;
&lt;br /&gt;
[[File:Test nodes1 2.jpg|class=img-responsive|center|]]&lt;br /&gt;
&lt;br /&gt;
Now we have to copy the CID of the uploaded file, simply right-click on it and select &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;Copy CID&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
[[File:Test nodes2.jpg|class=img-responsive|]]&lt;br /&gt;
&lt;br /&gt;
Switch to the other tab, where the Web UI of the other node is running. Again, open &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;FILES&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; menu on the right and click the &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;Import&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; button. Now choose &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;From IPFS&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; option, a pop-up menu will appear, where you should paste the copied CID and click &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;Import&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
[[File:Test nodes3.jpg|class=img-responsive|center|]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Et voilà, the file was transferred successfully. If you don&amp;#039;t see it immediately, just refresh the browser page.&lt;br /&gt;
&lt;br /&gt;
[[File:Test nodes4.jpg|class=img-responsive|center|]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting ==&lt;br /&gt;
&lt;br /&gt;
=== NAT Configuration ===&lt;br /&gt;
A common issue for new users running IPFS, especially on home networks, is that their IPFS node is sitting behind a NAT (network address translation). It&amp;#039;s common for people who run an IPFS node on their home network to have very long wait times or a high rate of request failure. This is because the rest of the nodes on the IPFS network have difficulty connecting to them through their NAT. &lt;br /&gt;
&lt;br /&gt;
Please refer to the tutorial in [https://docs.ipfs.io/how-to/nat-configuration/ https://docs.ipfs.io] about how to configure NAT.&lt;br /&gt;
&lt;br /&gt;
=== Virtual Machine ===&lt;br /&gt;
If you are running your node/s through a virtual machine and you experience problems with your node/s connection, you might need to change the &amp;#039;&amp;#039;&amp;#039;Network&amp;#039;&amp;#039;&amp;#039; of the Virtual machine to &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;Bridged&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; (example on Oracle VirtualBox below:&lt;br /&gt;
&lt;br /&gt;
[[File:Vm network.jpg|class=img-responsive|]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;/div&gt;</summary>
		<author><name>Stefan</name></author>
	</entry>
</feed>