6 ms·
I have been there. The progress was rather slow until I started to use NixOS. The learning curve is a bit steep but is very rewarding. It is not specific to sel
by breakds 4y ago
I have been there. The progress was rather slow until I started to use NixOS. The learning curve is a bit steep but is very rewarding. It is not specific to self-hosting stuff, but as a side effect it makes self hosting super easy (declarative, readable, etc).
For most of the services that you would like, you just write a simple configuration and deploy it. For example, to run the service shiori (https://github.com/breakds/nixos-machines/blob/main/machines/richelieu/web-services.nix#L11 https://github.com/breakds/nixos-machines/blob/main/machines...), or to host a game (terraria) server (https://github.com/breakds/nixos-machines/blob/main/machines/richelieu/terraria.nix#L4 https://github.com/breakds/nixos-machines/blob/main/machines...), or tailscale (https://github.com/breakds/nixos-machines/blob/main/base/tailscale.nix https://github.com/breakds/nixos-machines/blob/main/base/tai...). Since Nix is also a very good package manager, you also do not have to deal with installing packages and managing their dependencies.
With my NixOS server I am running all the services you mentioned.
> But I have no clue about networking,
My router is just a bunch of services running on a NixOS box (with this you have absolute control over the firewall/gateway, and it is also good experience to learn the networking stuff with NixOS). Note that before this I know nothing about the networking stuff as I skipped the class in college ...
- mindslight 4y agoI'll second the NixOS recommendation, but cautiously as it is learning more (different) sysadmin rather than networking. The downside is your "get myself out of trouble when I mess up or an update breaks" is mostly changed. The upside is the NixOS solution is to reboot and choose the previous GRUB entry. Also you get a focused community where the documentation is nice and dense, and a natural reason to avoid curl|sh, docker bundles, and other disempowering nonsense. If your goal is to self-host, you don't need to learn too much networking. Focus on the Linode, which has a nice public IP, and try out the various suggestions people have made for services. To learn networking specifically, do projects with networking. Set up wireguard directly rather than tailscale. Multi home a server with ipv6 tunnels (he.net, 6to4, etc). Set up your own router for your house. Host a service at home, either on your home IP or with a port forwarded from the VPS. Learn nftables and how packets flow through the kernel rather than limping along with copypasta iptables commands.
- kickaha 4y agoI experimented with NixOS for the desktop and ran into too many paper cuts too fast to be motivated to continue. Mentally put it in the "try this again next summer" file. But for server stuff it might be a good way to go...? Maybe I'll try it.