Goals
My goal is to help as many people as possible to get away from Big Tech and assist them in self hosting their own stuff, and showing them that it is not so hard as they think.
A proven recipi
If you follow one of the many "howto's" on the internet, it often requires some fiddling, because in the nowto they use a different provider, a different operating system (version), differeent software versions, and so on. Often these "howto's" are made on an already existing system with a lot of software already installed and running that the author forgets to tell about.
My idea is that with a bunch of people we all hire a VPS at the same provider, use the same software, the same versions, etc. For this goal I will hire myself a new VPS, setup a new domain name, and record every single step and command. If one follows this exactly, you will end up with the same system and the same reliable functionality.
Educational
You could just copy all the steps I take during the installation, but I will also explain every step so that you might understand why and what it does, so along the line you will learn a few things. Hopefully it will give you enough background to later self host a few more things than I cover.
Low maintenance
Some people who once ventured into self hosting compain that it was so much work to keep everything working. I don't have that experience, but that is maybe because I follow a different approach than most of them.
You see, if you look into my biography, that I live on a sailing boat. I earn my money via the internet, but I can't afford any down time when I'm somewhere on a multi-day ocean passage or at some uninhabited island without internet connection. This made me very conservative in the software I use and how I set it up. I don't want any suprises at unwelcoming moments. Typically, I run my services without any intervention for years on an end.
So I always aim to set everything up with low maintenance requirements in mind. It also means that I'm not updating stuff everytime there is a new update. If things work to satisfaction, why try to fix something that ain't broken? I typically run my servers for years without any updates (with the exception of security updates, which only very rarely break stuff). Software doesn't stop working by itself. Once you have setup a stable system, if you don't mess with it, it will function for a long time to come.
If, in a couple of years, you feel you are getting behind and/or really want to make use of some new features, it is always better to hire a new VPS besides the old one, install everything from scratch (while peeking into your old setup to keep as many settings that proved to work), and only once you are satisfied with the new VPS, you cancel the hire of the old one.
Low Cost
The system is going to run on a VPS of 5 Euro's per month, which you can cancel any time. You also need a domain registration, but these run typically for a year. We are only going to use free software.
Software
I will focus on software I used myself, which has proven to be stable and providing functionality that makes it worth installing and using it. I'm open for suggestions though.
Books
Books 1 and 2 will be mandatory, the rest is optional. Just a rough scetch of the books I have in mind:
Book 1: Infrastructure
In this book we will setup the infrastructure. We need to hire a VPS, register a domain name, and to get it all working together and accessible from your home system.
- SSH keypair, so we can access our VPS in a safe way without the need of a password.
- Domain registration.
- DNS setup at a free host.
- SSH drive, so we can edit setup files from our home system.
- Honeypot. It is fun to catch some offenders and make our new system less attractive to bots right from the beginning.
- Homepage. A simple one page homepage to lew the world know who is the owner.
Book 2: Essential software
- MySQL. This is going to be our main database that will be used by various services.
- Docker. We are going to run some Dockerized services for ease of installation.
- Vaultwarden. Time for a reward. This is going to be your first self hosted piece of software. By now you have to remember a lot of passwords for all the stuff we just have installed. But not anymore with this very secure password management system.
- S3. Let's add some external storage so we will have enough for our cloud and backups.
- Backup. We will setup an automatic backup system and use the external storage as a target.
Book 3: Cloud
- NextCloud. This is a great system that enables you to use your VPS as a backup system, a "dropbox" system, a file sharing system, a photo management system, a calendar and contacts synchronizer (byebye Google), etc. It also comes with an app to synchronize your photos and videos from your mobile phone or laptop. This is going to be a great tool to achieve independence from Big Tech.
Book 4: VPN
In this book we are going to setup our own multi-user VPN.
Book 5: Joplin
In this book we are going to setup our own notes system (evernote replacement)
Book 6: E-mail
This might be the holy grail for some of you. Your own email server on your own domain name.
- Postfix. This is the mail interface to the outside world
- Dovecot. This will organize your mail into mailboxes and allow you to read your mail with external clients.
- Mailadmin. Adding new mailboxes will be a piece of cake with this Web-GUI.
- Roundcube. To read your email on the web.
And of course we will setup all the stuff that is required today to get your mail working reliable, such as DMARC, DKIM, etc. and we will also take some very effective measures against spam.
Other books
Many other books will follow. Pixelfed? Friendica? Lemmy? Pleroma? Mastodon? Let me know which of those would be your favorites.
No Comments