Hello Zak, As Bill mentioned, the best current documentation available is https://tuleap.ring.cx/plugins/mediawiki/wiki/ring/index.php/Ring_distributed_network We will try to improve this page if you plan to communicate about it.
The best current way to support the Ring distributed network is to run stable, public (not NATed) OpenDHT nodes. This helps to maintain good connectivity even during peak node churn (when many nodes join and leave the network at the same time) or when many users are NATed. Even better is if someone or some organization can commit to maintain one or more OpenDHT nodes on the long run. In this case, we can add this node in the list of Ring default bootstrap nodes to make sure users can keep joining the network even if the node run by Savoir-faire Linux (bootstrap.ring.cx:4222) is down for some reason. More different people/organizations maintaining DHT nodes means a more independent, trusted and robust Ring/DHT network. Currently Savoir-faire Linux runs a small cluster of nodes including the only default bootstrap node, and a few members of the community also run nodes on their own servers. https://github.com/savoirfairelinux/opendht/wiki/Running-a-node-with-dhtnode describes how to use dhtnode. It's as simple as running dhtnode -b bootstrap.ring.cx:4222 OpenDHT also includes a Python tool to run and manage clusters of nodes. A single OpenDHT node is very light in term of memory/CPU/network. To anyone interested in running an OpenDHT node, please use the latest release (currently 1.3.3) and not the version packaged in Debian which is outdated. Adrien Beraud Ring developer Savoir-faire Linux Inc. From: "Bill Auger" <[email protected]> To: [email protected] Sent: Monday, May 15, 2017 8:28:58 PM Subject: Re: [Ring] Supporting people setting up Ring servers Zak - the documentation is quite thin ATM - but i will try to answer the question as best as i can ring is a fully distributed decentralized network based on DHT - the only aspect that resembles a client-server relationship is the OpenDHT bootstrap login nodes and Ethereum blockchain identity lookup server which currently default to the ones that SaviourFaireLinux operates - currently any peer can change their default bootstrap node to any other on the network but it is not clear if clients can access a fully distributed blockchain yet - the docs only say that the eventual goal is to allow anyone to operate either other than that - the only significant distinction between running a "server" and simply running the phone program on a laptop or mobile device is the uptime of the device and that a dedicated server can be optionally installed independent of any client for maximum uptime - such long running instances would be candidates for additional bootstrap nodes but all connected peers are an integral part of the infrastructure - ie. so there is a large value in convincing people to simply run the phone in their systray a detailed walkthrough would be a great thing but probably a ways off - the outline of such a tutorial would be not much different than running any other server - install the server, open the appropriate router/firewall ports, advertise the node on some side channel, and keep the program running around the clock - the docs also say that SaviourFaireLinux would list long-running servers on their site i would like to add that even if such a tutorial existed, configuring and maintaining a server is more than the average user is capable of or willing to do - certainly in the short-term, the best solution IMHO would be to preconfigure a VM for that purpose - it would be a perfect fit for something the likes of freedombox (or perhaps even libreCMC) in order to make installation as simple as possible for non-technical users and increase the potential of growing the network as i said the documentation is quite thin but that is my best understanding of ring currently - perhpas someone else will chime in to correct any errors in my explanation or to help write a more detailed walk-through if one is desired the following page is currently the most detailed resource on this topic: https://tuleap.ring.cx/plugins/mediawiki/wiki/ring/index.php/Ring_distributed_network From: "Zak Rogoff" <[email protected]> To: [email protected] Sent: Monday, May 15, 2017 3:37:26 PM Subject: [Ring] Supporting people setting up Ring servers Hello, I'm Zak, the campaigns manager at the FSF. Thanks so much for your work on Ring! RMS asked us to do a post encouraging people to run their own Ring servers. Could you tell us the best documentation to point them to for this? Also, is there anything else you'd like us to include in the post? i.e. tips, explanations for why it is important to run a Ring server, stats about the number of servers, or anything else you like. -- Zak Rogoff // Campaigns Manager Free Software Foundation
