Hello everyone New to Linux, new to self hosting, and struggling a bit but making progress.
I have two questions: 1 Is there a YouTube channel or a website with tutorials and explanations for the dummies like me? Something eli5 with easy words to start with and understand the basics.
2 I see a lot about nginx and reverse proxy and not sure I need it. I want to run a couple apps on my local network to be able to access it on any computer inside the house and, for now, nowhere else. Do I need nginx? What about port security? I’m worried my lack of understanding regarding ports would make my home network vulnerable. But since for now I only use 192.168.1 , i’d say I’m safe from intruders?
I acknowledge it’s all surely basic but I’m not sure where to find a comprehensive source of learning instead of googling bits and pieces.
Thanks
Some Youtube-Channels I can recommend, but with varying levels of “noob”-friedlieness. Just watch a few and decide for yourself which can help the most:
https://youtube.com/@christianlempa
https://youtube.com/@TechnoTim
https://youtube.com/@LearnLinuxTV
As for a reverse proxy, it depends how you want to access your services. If you’re just gonna host your services on docker and then publish ports on the host you can just access them that way. But that way they are of course not encrypted, which in your home LAN can be fine. To really use a reverse proxy you also need to have a way to rewrite or add dns entries in your local network. All the domains and subdomains you’d want to use must point to the reverse proxy which would then forward the requests to the services.
The way I have it configured right now is that I have a reverse proxy on my docker host which has the ports 443 and 80 published on the host, while all the services I use in docker on that host do not have published ports. They’re all then in a network with the reverse proxy so it can forward the requests to the services. That way I can encrypt everything with SSL/TLS and have trusted certificates on everything. I use nginx proxy manager which also handles my certificates.
The really vulnerable open ports are the ones you forward to your router. But you only need those when you want to access services from outside your network. But I would wait on that until you feel comfortable.
For self hosting plex, sonarr and radarr etc… I recommend the trash guides. https://trash-guides.info/ When you don’t want your self hosted apps available from outside your network you don’t need nginx. And for the port security, as long as you are not port forwarding there is no security issue. Keep in mind that when you host things on your local network that other people on your home network could be able to access your apps. Which is not a big deal when living with family or on yourself.
I learned a lot from the tutorials of https://ibracorp.io/
You’ll find rather advanced things there, but they are easy to follow and well explained.
I’ve compiled a list of resources for someone else just getting started:
- https://github.com/awesome-selfhosted/awesome-selfhosted
- https://github.com/awesome-foss/awesome-sysadmin
- https://www.reddit.com/r/selfhosted
- https://www.reddit.com/r/homelab
- https://selfhosted.show/
- https://www.youtube.com/@RaspberryPiCloud <- german
- https://www.youtube.com/@TechnoTim
- https://www.youtube.com/@AndreasSpiess
- https://www.youtube.com/@bitlunislab
- https://www.youtube.com/@Level1Linux
- https://www.youtube.com/@LearnLinuxTV
- https://www.youtube.com/@WillieHowe
- https://www.youtube.com/@LAWRENCESYSTEMS
- https://www.youtube.com/@CrosstalkSolutions
Depends what you’re trying to learn, and how much of a beginner you are. If you want to learn the shell, try the Software Carpentry tutorials:
If you know the basics, you might try honing your skills with CLI Mystery (murder mystery puzzle).
You’ll probably want to learn how to use the following:
- SSH
- Command-line text editor. Choose one of the following:
- Nano <- Smallest learning curve
- Vim (or Neovim) <- My favourite (See Mastering the Vim Language)
- Emacs <- Some people like it
The final tip is: It’s usually better in the long run to spend 2 hours reading the documentation than 2 minutes searching the web. Reading the documentation helps you to understand the big picture, and gives you a much better foundation. Of course, if you’re reading the documentation and don’t understand something, searching the web is an OK way to figure it out.
Here is an alternative Piped link(s): https://piped.video/watch?v=wlR5gYd6um0
Piped is a privacy-respecting open-source alternative frontend to YouTube.
I’m open-source, check me out at GitHub.