Francisco Fuentes

Person who happens to code and also loves music and books

Self-hosting away from the big web giants

13 Nov 2020 » software

The Internet has changed wildly and so have users. I believe in privacy and I miss the days when people were careful about their ID, strangers on the web and their babies were not all over the WWW. People can be careless about their identity but not only that: All of us (or at least the ones on the Internet and whom have tried at least one social network) are also products in the market. I mentioned this elsewhere but we’re also bombarded with ads. So why not owning our data? Maybe it could cost some money but infrastructure is cheap, it won’t be much money anyway! Why not just gather a group of friends and pay for it or create it all together?

Let’s reflect on what we’re doing: Internet used to be fun but about learning and doing stuff yourself (your own page with what you knew about HTML, PHP, CGI or if you were really fancy with some javascript and CSS). It’s what I’ve been thinking about and even more since 4 years ago we all knew about Cambridge Analytica and what they were able to do. That was one of the things that brought me to keep participating here in the SDF because we share responsibility in some way when we validate our accounts and donate to it. Now, what if the SDF dissapears? I’ve thought about it too!

(I was writing this article last night and today I found this article. I think this must be stopped.)

Here some tools that are small and sustainable enough to work with them and create a whole self-hosted environment spending the least possible in both money and computing resources:

Get a VPS (or even better a Raspberry Pi)

Servers can do a great deal of stuff. Owning a server would be ideal but you don’t always have that possibility.

Where?

If you need one there are many options but not all of them are the same. Just make sure it’s a KVM provider. Some recommendations I heard have been OVH, Ramnode, Vultr, Hetzner and Scaleway. Also, the SDF provides virtual servers to MetaARPA members.

I think Internet users have 3 big needs:

  1. Storage
  2. Interaction
  3. Broadcasting

Storage

I mean just that: Storing files. You have pictures, personal files that you need to make a living or at least very important like text documents, spreadsheets, private pictures, etc. Also, everything you do after this point will have to be stored somewhere. I know Dropbox is very nice but it’s still a company you can’t trust forever… especially if you have a free account. Google is ““nice”” but they change their rules all the time. Today they have claimed that they are going to mix the picture space with Gmail/Drive space. Then what do we do? Should we rely on Google? (the ones who also read our emails?). What gives?

So what we need (apart from another email account) is storage with syncronization. This is been around for a while but NextCloud is a neat idea if you wanna have your own stuff with no other rules than your own. Even though cloud hosting sounds like a (paradoxically) heavy task there are guides on how to host NextCloud in a Raspberry Pi.

Also you might as well need to author and keep documents safe on the net. One way is getting a backup system to sync with but another way is to have a system designed for it. Yeah I’m thinking about a suite like Google Drive or Zoho but yours. Not long ago I learned about CryptPad. It’s installation requirements are easy to fulfill.

Of course, you might also save your stuff just using a backup to another computer but you need to make sure this backup works in a somewhat automated fashion. There are basically two ways to make backups. There’s plenty of open-source software for backups. A trendy option is using Borg.

Interaction

This is another common use case: When we use the Internet to reach people out or socialize. I’m not gonna talk about email but you could check info about setting up Postfix or this personal mail server with OpenBSD. Just keep in mind that if you’re paying for a VPS some providers are wary of clients who wanna send email on their own so check first.

Instant Messaging

  • XMPP self-hosted implementation (for instance, with Prosody
  • Self managed Mattermost
  • Let’s Chat
  • Rocket.chat (https://rocket.chat/es/install/) (Scroll down)

Chat rooms

News Aggregators and forums (comments and stuff)

This is more obvious because we’ve had forums and news aggregators available open source for ages. Now some tools worth mentioning that are not in your typical softaculous software.

Multimedia chatting

Broadcasting

Also, with broadcasting I mean when you publish something for the public. I think this is better documented.

Twitter-like

  • Mastodon
  • Pleroma (federates with Mastodon but it’s lighter if you just wanna have a server for yourself and follow people in other servers)
  • Twtxt (text file based, mostly for techie people)

Instagram-like

Blogging

As a quick note: If you are not a company with an online store you probably don’t need WordPress or any script running at all. Just use a static generator but yes you can install WordPress if you so wish. Also, you might as well use a well baked framework instead of WordPress like Laravel.

Remember you can add comments to a static site with:

I haven’t found a convincing way to send forms within static websites not relying on a (company) third party. The closest I’ve got are people using serverless on a AWS server or someone using nginx logs.

Videos

Now this is interesting because you should be pretty sure that you wanna keep large files under your control with the costs it involves.

One option to do this is Peertube

Conclusion

Would you pull off the big web grid? I’m myself still in a transition. What about you?