Big picture server question


#1

I’m having a problem with the big picture here with regards to permissions and access. I at first assumed Solid allowed sharing via some P2P type protocol, like IPFS, but the instructions at https://solid.inrupt.com/docs/installing-running-nss suggest a domain name is needed.

But then the instructions at https://github.com/solid/node-solid-server#install counter that and suggest that, indeed, a server can be set up without a domain name.

I’m not a coder. I built and ran servers a long time ago, but only understand Apache, and Linux servers for DNS, proxy, FTP, I write HTML and CSS, some PHP, etc., but that’s it.

I’d like to set up a Solid server, but will it require a domain to actually allow access to files? I’m thinking not, but could use some clarification.

This is a big conceptual question for me too. Assuming no domain name is needed to share one’s stuff via Solid, then I can see mass adoption happening very quickly via WYSIWYG clients for locally running ‘servers’.

And please be kind. I’m a card carrying member of the AARP.


#2

To access the server you will need to know its address. If it is on your local machine, that’s just what you set it up to be.

But if you or somebody else needs to access it from another machine, they need to know the address of the server (so this is different to IPFS or SAFE).

The address of the server is actually a numeric IP address (IPv4 or IPv6) but numeric addresses are hard to remember, and in some cases they change regularly, so generally people use a domain and let the DNS handle the numeric addresses.


#3

Ah, OK, thank you. So one would need a static IP as a minimum to run a stable server, much like Apache and unlike IPFS. This also means that most people will not be able to run a server as most people connect via dynamic IP.

This is problematic because it means mass adoption will take place in the context of most users paying for or otherwise relying on service providers, those who can provide a static IP or URL.

I know there used to be services, and probably still are, that could take your dynamic IP and serve it up via a static IP, but that’s no different, really, than just buying a static IP either from your ISP or a provider, and most people aren’t going to do that.

So this seems to be a problem. It means people don’t really have control if they must depend on another service, a server with a static IP or URL, to share their stuff. But, but, it is a step closer to independence than the current model.

Regardless, thank you for the clarification.


Plan to win users?
#4

Dynamic IP is not a problem! You do need a static domain name, but you can have dynamic IP address and use one of the many places who will keep track of your server as your IP address changes. There are lots of these. dyndns.com was an early one and now. is dyn.com and bought by oracle it seems but certainly still doing dynamic DNS as a service. There are many others, some free.

You can get a domain form the ones they offer there, and then set up your server or your router (best) to report back to them whenever your IP changes. Then you are up and running. You need to install the server, and get a certificate for TLS.

You can buy and rent your own domain from anywhere, and then get dyn.com to start provide dynamic DNS support for that too. Then you have your own domain, which you can hang on to however the people you depend on to run services change. That is a good idea.

Of course when you get an account on solid.community you do get a domain name in fact … but ties to that community. One of the things inrupt has been thinking of doing is allowing you get us to provide virtual host service so that as well as your data being in that subdomain like timbl.solid.community, we also serve the same data as your own private domain. So lots of ways to go. And you can change which you use.

Of course you can move between these things, as solid allows you to copy all your stuff, including all the access control information, from one server to another.


#5

Many thanks for the information and encouragement. I used dyndns many years ago but haven’t tried any such services in a long time. I’m glad to hear they’re still around and that there are other options as well. It looks like I have my next weekend project lined up!

EDIT: So I’ve come up to speed on DDNS and will be pointing a domain to my local computer soon. But this has gotten me thinking about the bigger picture, again. Mass adoption, end user too busy to deal with anything more than updating their profile picture… where does the data live? Are we looking at multiple pods living on the user’s device, in the cloud, shared, mirrored, all at once? If so, there will be a need for apps to collate all that for the user.


#6

I’m also interested in bigger picture server requirements / considerations / limitations before fully undertaking architecture of our new, Solid-inclusive systems. I wonder if distributed storage will greatly aid this and if the two can be tied together - this is what we’re looking into.

One question I know users will have is if everything is stored on a Solid server, it’s still a centralised server, whatever the platform. Sure they can pull content back, but CDN, cache, etc, will preserve user submissions. Server admins will still have access to, and control over, data. Distributed hosting would remedy this.

Mass adoption is going to want some catchy, short domain names that become a brand in itself, open source, free, or not. These could even be, eventually, decentralised domains, of literally anything.anything.

Which is what we’re exploring at the moment with our Solid and Holochain research, on top of the distributed hosting question.


#7

@Sea myself and Maidsafe have created proof of concept demos asking these lines. Mine was a blogging app, and Maidsafe created a SAFE decentralised WebID and social network, which integrate Solid with SAFE Network because of the issues you mention.

Yesterday I wrote a short summary of the reasons for integrating SAFE Network with Solid, and the issues that would address. See (SAFE forum):


#8

Excellent work, well done, and thank you. And the Medium article as well. I will be following and learning through your progress.


#9

I just learned something really important in this area. It is feasible for SAFE Network to limit and monitor where on SAFE Network that a Web app can send/store data, so we can technically prevent any leakage to places not authorised by the user.

I think that by placing controls on what and where data can be shared we can have a much better data security model than if we put controls on what an app is able to access.

This is not implemented yet, but it is technically possible, so the next stage is to think through the data security model and UX.

The following post summarises the issue, and my first thoughts on why it would be a good idea, and it links at the bottom to confirmation of the technical feasibility. See the part headed “Data Sharing Controls v Data Access Controls”:


#10

I’m also interested in bigger picture server requirements … if everything is stored on a Solid server, it’s still a centralised server,

@Sea There is no centralised server. I am currently running a Solid POD server at home on a Raspberry Pi that cost less than £50.00, doesn’t make a noise, doesn’t get hot, has a 64GB disk and uses less electricity than most lightbulbs.

Most developers have experience of large servers that are expensive and have to be kept cool because the servers are hosting thousands of pages. A free Google Drive contains 15GB of data, which is large enough for most people to back up their data. Most individual websites are far smaller than 15GB. So a Raspberry Pi with a 64GB card, only about 5GB of which is used for the operating system, is larger than most people will need for their own individual POD.

At less than £50.00 for a Raspberry Pi, everyone can have their own Solid POD server at home, and their own individual Solid ID.


#11

Thanks for the info! That’s a useful setup for people who have the privilege of their own home. For myself, I have been traveling non-stop for two years. I encounter many other writers, digital nomads, and students in similar situations. So, a home Raspberry Pi setup is not ideal for those of us on the move. I think at this point I’d invest in a Holoport as well.

This reminds of the early days of Internet, when anybody could host their own websites, even back then on my 14.4 modem. But, most people were unable or unwilling, hence monthly hosting services sprouted up. And, as it will, with Solid. Hosting on IOT devices will also be most useful, and I think we can all do better than a Google/Azure/Mac/Amazon S3 backup. Why support the monopolies on data? We can align ourselves with other underdogs, even in P2P hosting space, while the social revolution continues.