You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+34-2Lines changed: 34 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -29,6 +29,7 @@ In a nutshell, the goal of *shiftedstorage* is to provide an alternative to "big
29
29
**tailscale*: a Tailscale client that establishes your node's connection to other trusted nodes in the mesh network.
30
30
**ipfs*: an IPFS daemon running on the Tailscale network.
31
31
**ipfs-cluster*: an IPFS Cluster daemon configured to talk to the IPFS service using the Tailscale network.
32
+
* ui: [shiftedstorage-ui] web application running in nginx
32
33
33
34
Of course it's not all rainbows and unicorns, there are tradeoffs to this approach:
34
35
@@ -74,14 +75,36 @@ The first node in a *shiftedstorage* network is known as the bootstrap node. It
74
75
75
76
### Tailscale
76
77
77
-
TBD! The end goal is to get a `TS_AUTHKEY`.
78
+
Your IPFS Cluster will run in a virtual private mesh network using Tailscale. Tailscale is a service for the open source Wireguard software. Creating a Tailscale account will give you access to the free tier which will be fine for your network. If you are interested in learning more about Tailscale they have a good series of instructional videos such as [Tailscale: Get Started in 10 minutes](https://www.youtube.com/watch?v=sPdvyR7bLqI).
79
+
80
+
After you create your account, you will need to ensure that the access rules allow the nodes in your cluster to talk to each other. Tailscale gives you a great deal of control over these rules but a useful place to start is to simply allow all the user and devices to see each other. To do this go to your Access Control tab in Tailscale admin and use the Visual Editor to ensure it has a rule that allows all users and devices in your tailnet to see each other.
These settings are just to get you started with your storage cluster. You can further refine them as needed as you develop your cluster and use Tailscale for other things.
Be sure to also mention that any admins should get invited to the Tailscale so they can see it from their workstation.
80
89
90
+
### Tailscale Auth Key
91
+
92
+
You will need to create an Authorization Key to use in your shiftedstorage configuration so that new containers can join the private network. To do this click on *Settings* in the top menu, and then *Keys* in the menu to the left. Here you click on *Generate auth key* button and enter:
93
+
94
+
* a description for your storage network (e.g. my-storage)
95
+
* make the key *reusable*
96
+
* set the maximum of 90 days for the expiration which should be plenty of time to set up your network
97
+
* not ephemeral (allows your node to go offline and come back up again)
98
+
* tags: add the *container* tag
99
+
* click the *Generate Key* button
100
+
* copy the new key, and save it somewhere private where you can find it again
101
+
81
102
### Create Compose File
82
103
83
104
Use your Tailscale token to create your bootstrap node, which here is named `bootstrap` but can be whatever you like. This will be the hostname of the bootstrap node in your Tailscale network.
84
105
106
+
In place of the `"YOUR KEY HERE"` you will want to put the Tailscale Auth Key you generated in the previous step.
@@ -130,7 +153,15 @@ For people with a QNAP you can:
130
153
131
154
## Working With Storage
132
155
133
-
The shiftedstorage utility offers some functionality to add and remove content from storage. These are really just wrappers around the `ipfs-cluster-ctl` command, which you can choose to use directly of course.
156
+
If you have added your workstation to the Tailnet (see the *Add Device* in the *Machines* tab of the Tailscale Admin) you should be able to see the shiftedstorage-ui web interface at the node's host name. Each node is running the same web application that is able to communicate to its IPFS Cluster node.
157
+
158
+
So if you created a node called *bootstrap* you should be able to visit *http:bootstrap* in your browser and see this interface, which lets you add content to the cluster, see how it has been replicated, and download it.
The shiftedstorage utility also offers some functionality to add and remove content from storage. These are really just wrappers around the `ipfs-cluster-ctl` command, which you can choose to use directly of course.
0 commit comments