Where to find guide on self hosting for a complete beginner?
I am completely new to the realm of self hosting. I don't know a single thing about how I can self host stuff. Regardless, I have the curiousity to learn it by myself but I don't know where to start. I cannot find any sort of wiki or FAQ articles, nor do I have the ability to ask the forum for every single problem or doubt I encounter during the setup. Can someone direct me to a beginner friendly site that teaches all there is about self hosting and all the questions and misconceptions that come with it?
Additionally, is a self hosted server only accessible inside my home? What about accessing the services outside, like Bitwarden or Nextcloud apps that require syncing and availability of data wherever I am? If it is useless outside, there would be no point for me personally to self host in the first place since I am perfectly fine with using cloud services for now and the convenience that comes with it. Plus, no one else in my family cares about self hosting and I don't wish to spend the effort to convince them to in vain, so setting up a server for convenience of everyone at home is also out of the question.
That is a great analogy of explaining the broadness of the concept of self hosting that I wasnt able to understand from the other comments.
As a beginner, I would like to start out with a storage provider like Google Drive (& Google Photos). I currently don't have any hardware for a home server but I can get one as per my requirements.
The biggest issue for me would be the OS running in the home server. I would preferably want something compatible with Windows since I have worked with Windows for my whole life. I am also fine with working with Linux, however I don't want to spend weeks banging my head on setting up and using Linux before I even start configuring it for my home server. I will be able to handle learning about networkings of the server on the go and troubleshoot problems as long as the OS does not bother me. As with self hosting, I am a beginner in the field of Linux so I don't know what 'distro' would be best for me for this purpose, but nonetheless I will research more about it thanks to your headstart.
I still feel like a noob, but I spent a lot of time to get to this point where I am now. I can install fresh OS and run Nextcloud in less than 1 hour probably. When I started it took few months, I was burning all my free time but I loved it. It takes only few steps, but its probably a pain if everything is new. My steps would be:
Install Debian OS
Install docker and docker-compose
Install portainer (also docker container, has simple web GUI to manage all other containers)
Load docker-compose (with nextcloud and db config) in portainer stacks and start nextcloud container
Googling steps above for your OS or hardware should point you in the right direction, but there are many other ways of course. You can use any OS, but Linux is the way to go, especially if you are looking for help on lemmy.
Im accessing server using wireguard, it behaves like Im home and it needs to be set on each client (scanning QR code or loading config). Wireguard requires opening port 51820 on your router, but that should be safe enough. Alternative is tailscale that doesnt require opening port at all. Other options are probably too complex (read unsafe) for begginers afaik.
If you are going to selfhost cloud service then also look into backup solutions. Losing data is not fun at all.
My post might not answer your questions, just wanted to share my thoughts. If you decide to dive into selfhosting, Id say arm yourself with time and patience and get some cheap or free hardware to start with (old laptop with dead screen and battery should be more than enough) and enjoy your linux advantures.
Good luck
Wait, is an old laptop also good enough for setting up a home server? I thought you would require a completely separated and dedicated PC box like the ones you can see in studios or offices. That's new to me!
You can use any computer as a server, you just have to realise that low powered computers will be able to do less than something more powerful.
As you get into it more, you might find that you need better hardware, or more network ports etc., but most of us would probably be ok with a decent PC.
Even small SBC like raspberry pi can be a home server. SBC, laptop, SFF PC, office/gaming PC, server rack, ...they are all options with different pros and cons. What hardare you need depends on your use case. Free or cheap hardware is best to start with IMO. You might find you dont even need an upgrade, and if you do, you will probably know what you need
Definitely look into laptop servers. They have the benefit of having a built-in screen, keyboard and battery in case power goes down. IMO, as a fellow newbie, it's an easy way to dip your toes into hosting using existing/cheap resources
At the same time, despite what others have said, ho slow. Don’t fall for the all too easy trap of wanting to get the latest and biggest. I ended up with a 2U quad sock server with 256GB RAM… why? Uncalled for and totally not necessary! Start slow and when you find the services you’re hosting no longer performing the speed you’d like, then gradually scale up.
Anything with a CPU, RAM, a SSD/HDD and a network port can host something.
Even an old smartphone could do it.
Could it do it well? No. Can you do it? Certainly
It's like with tools: You can use a drill to make holes or use it as a hammer. Is it a good hammer?
I see you want to store photos/files and you mentioned bitwarden.
Remember: Backup, backup and backup.
And if possible: Test it.