10 ms·
It's bizarre to me - the idea of running so many things on a home network that you need to start writing Ansible playbooks, building Docker images, spinning up
by c7DJTLrn 5y ago
It's bizarre to me - the idea of running so many things on a home network that you need to start writing Ansible playbooks, building Docker images, spinning up Kubernetes clusters, putting a rack together. I think if you really applied some thought you could get rid of all of it and save yourself the time and effort. But I guess tech people do have a tendency to find nails for their hammer.
- darkwater 5y agoIt's just a hobby, it gives you some extra nice thing you wouldn't have that easily (for one, adblocking at DNS level with PiHole) but in the end is just a hobby.
- c7DJTLrn 5y agoI have nothing against hobbies but it's even better if your hobby has something to show for it. I think the time saved by just manually plonking the software on a cloud VPS would allow the author to do something more challenging and interesting, instead of well... pleasuring oneself with heavy duty deployment tools.
- kipari 5y agoHeavy duty deployment tooling is a hobby of its own. :-)
- laumars 5y agoReading a book doesn’t give you anything tactile to show for it. You read for the experience. Likewise for gaming, solving a crossword, nor watching TV. Different people relax in different ways.
- Godel_unicode 5y agoThis is pretty condescending, and also misses the major point made in TFA. Writing a quick Ansible playbook/docker compose means you can quickly standup your services on any system. Run it locally on a raspberry pi, move it to a VPS, just run one command. None of this tooling is "heavy duty" by any means. If you just apply a little thought, you'll see how this saves time and effort.
- jjulius 5y ago>I have nothing against hobbies but it's even better if your hobby has something to show for it. For you, sure. For many others, it's just about doing something you like doing just because you like doing it. DJ'ing is my hobby, has been for 15+ years. I regularly spin sets a couple of times a week for at least 2, often up to 4 hours at one time, just for myself. I love doing it and feel so content and happy inside when I'm done. I feel even better during it, when everything clicks and I hit a really nice groove. I have no need to share it with the world, have other people listen to it, or use my hobby to get gigs and make money with it. My sets are ephemeral, my own happy place, and always will be. I'm sure this is the case for many other people and their own hobbies. Why can't people just enjoy doing a hobby simply because they like doing it? Why does there often need to be pressure from somewhere to do something more with a hobby?
- c7DJTLrn 5y agoI want to understand where you're coming from. But I do think there's a false equivalence here. DJing is a creative process with no defined goal. There's only so many ways an Ansible playbook can be realistically written to install some software, it's the opposite of a creative process. Tapping your foot can't be considered a hobby right? It produces nothing tangible and involves no creativity.
- jjulius 5y agoIt is a creative process, for sure, but that's just one reason I do it. Another reason is just getting lost in it, forgetting about everything else and just "being in it". The same can be said about a lot of other hobbies, regardless of what kind of process it might or might not be. Just doing it and being in it - reading and getting lost in a book, watching a movie and getting lost in it, going on a hike and getting lost in the woods (metaphorically, not actually lost, lol), writing code and getting lost in it, etc.. Ansible playbooks can be the same way! The point of hobbies for many people is just because they like to do it, nothing more, nothing less. There may also be other reasons, such as the creativity for me, but there are also times when I'm not feeling super creative and my set will just be an un-mixed playlist of music that I just want to get lost in in that moment... if that makes sense. Some people might just like losing themselves in an Ansible playbook, or think they're fun for fun's sake or whatever reason. :)
- stronglikedan 5y ago> it's even better if your hobby has something to show for it. Like the experience and newfound knowledge that Ben gained from this endeavor?
- vineyardmike 5y ago> instead of well... pleasuring oneself with heavy duty deployment tools. How dare someone experience pleasure! Especially from a hobby. /s
- urda 5y ago> I have nothing against hobbies but it's even better if your hobby has something to show for it. This toxic "grind until you die" mindset needs to end. Hobbies *do not* need to produce something to "show for it". The thing you are "producing" is happiness for yourself.
- ticviking 5y agoIt's a hobby. Why do people build their own furniture or sew their own clothes, or knit a scarf? Same thing here. We do it to learn and have a sense of mastery. Doing things the "at scale" way on a scale where we personally can get that little dopamine hit from a successful project.
- c7DJTLrn 5y agoIf you knit a scarf, you have a scarf at the end of it. You can keep it or gift it to someone. If you write a playbook to install some software on your home network, you have some YAML that took longer to write than it would have taken to do the task manually and isn't likely to be useful to anybody else. And without maintenance, that playbook will eventually decay and stop working. The scarf will continue to keep you warm forever.
- bspammer 5y agoI can’t count the number of times I’ve done something in a “completely useless” personal project which taught me a skill or tool which was useful at work. Even if you go by the philosophy that something has to be useful to be valuable (not something I personally believe), toy projects have their place. Plus, they’re fun.
- xur17 5y agoYou also have the experience of setting up a network in a "professional way" that you can use on the job, etc. Also, maybe OP just enjoys the process / finds it fun?
- mikepurvis 5y ago"And without maintenance, that playbook will eventually decay and stop working." This is the part that has killed this as an activity for me. I really enjoyed the experience of setting up playbooks and so on for my home server (deluge, jellyfin, zoneminder, etc), but in the end I didn't have the time to do much more than make the occasional config tweaks and restart it all live, and once that started happening, the scripts were no longer of value, and it was clear there was no point. That said, I know some Nix acolytes swear by it for this kind of thing, in part because it really forces you to do things using its declarative wrappers and intentionally doesn't provide workarounds the way containers do ("just shell in and change whatever, lol").
- sumtechguy 5y agoI have about 6 computers total (4 personal, 2 servers). Yet I am toying with the idea of throwing ansible into the mix on this. Every once and awhile a good clean 'toss the whole thing out and start over' is in order. For me it is typically an ubnutu upgrade has done something odd. Then I spend a few hours digging on it and fixing it. But it would be easier/quicker to just scratch the whole thing and rebuild it, or at least toss it in a VM beforehand so I know what will go sideways. A bit of ansible would let me do that quickly. The other 4 I can just leave them alone. Starting at a known state (broken or fixed) is always handy. Basically it may save me several afternoons of work. Where I would rather be programming instead of digging out some weird error some upgraded bit of software started throwing because some leftover config file is getting in the way.
- sneak 5y agoThis is a brand marketing ad for GitHub. It's like those "there's no place like 127.0.0.1" shirts, which work despite the fact that we don't pronounce the localhost address as "home". It's a way of saying "hey, look, I'm just like you!" without being overt about it. Microsoft is a clever company, and they recognize that they have to do a lot to offset their corporate stink that they brought to the GitHub and npm brands.
- Notanothertoo 5y agoEh, people who don't know tf/ansible say these things because they don't know the tool. When you know the tool it's no big deal and it's preferred for repeatability and its self documenting. People often think it's just good for complex things but infra as code solves a lot of problems. I use tf for my home lab because that's what I'm failure with and a homelab will inevitably get tinkered with or fall out of state. Same reason I use tf for everything infra as a dev consultant of 1. I'm not going to touch this thing for a while and when I do I want it to be repeatable and documented so I can move forward instead of back. Also kubernetes is easy when using the right spin up tool, like portainer or rancher. It's also the only way to run docker images across multiple machine today. For a while I ran swarm but that's dead, then I just used docker compose but started running into compatibility issues. With kube you also get to leverage all the existing helm charts., which saves a lot of time. It's still a bit overkill but a lot of fun, and I learned networking and infra things doing it on a homelab. I also use it to try new things. There are also political reasons to do so. I suspect the internet will get less free and it's nice having your own private space.
- selfhoster11 5y agoI agree with everything except for Kubernetes. My use of Ansible for example is purely so I don't forget what tweaks I made to the system to make things run.
- Bedon292 5y agoI enjoy over-engineering my home network too. Its a learning experience. Its more about the process than the end results. But many of these things aren't actually a major effort. Its some yaml for ansible to configure a raspberry pi for security and running docker. And run a few existing docker images. Its might even be less total time spent to just stick it all in ansible and run it rather than have to run each command by hand. And there are actually some really nice benefits to running something like pi-hole on your home network and forcing all DNS through it. You can get ad and malware blocking on devices that don't typically let you easily. And you can just set it up in one place rather than on every single device.
- goodpoint 5y agoWhile many people are happy to write software as a hobby, having to fiddle with ansible, docker, kubernetes or other devops stuff is the kind of thing that would make people quit their jobs. It astonishes me how people can enjoy this kind of tedious work as a hobby.
- fuzzy2 5y agoWhy not. Here's the thing: tired of it? Just stop and do something else. Can't do that at work. It's just mental exercise.
- selfhoster11 5y agoKubernetes is overblown for home set-ups. Any tooling I use, including Docker and Ansible, is because they make the unenviable task of keeping the home infrastructure running less bad than doing these things by hand.
- skipants 5y agoIt's the hacker mindset -- and this is hackernews after all. Isn't this kind of like walking into a wood shop and saying, "you know you guys can just buy this stuff at Ikea, right?".
- selfhoster11 5y agoWorse: this is like walking into a wood shop and claiming that you can just buy this at the IKEA, when the maker of this piece of furniture knows for a fact that IKEA doesn't carry anything remotely similar and will not do so for a long time.
- runjake 5y agoThe hint is in the title of the article: How I re-OVER-ENGINEERED my home network for privacy and security This is what us "tech people" do.
- selfhoster11 5y agoI think your list is a "murder, arson and jaywalking"[0] kind of list. Ansible playbooks and Docker images are very, very simple compared to building Kubernetes or hardware racks (both of which can be very, very hard). My Ansible playbooks are barely a step up from shell scripts, my Docker images are basically always whatever each project supplies themselves (and don't run on top of Kubernetes), and my infrastructure consists of a grand total of one Raspberry Pi and an 8-port switch. These things don't have to be overcomplicated if one doesn't want to overcomplicate them. Docker and Ansible lead to real time savings, both because they document the exact software setup and because they make replicating it very easy when switching servers (as inevitably happens in a hodge-podge home lab). [0] https://tvtropes.org/pmwiki/pmwiki.php/Main/ArsonMurderAndJaywalking https://tvtropes.org/pmwiki/pmwiki.php/Main/ArsonMurderAndJa...
- zfa 5y agoI mean if it floats his boat then why not. But it looks like a lot (all?) of the work here was just to get pi-hole functioning well - and that now needs him to deploy pi-hole, cloudflared, caddy plus all the surrounding tools of Docker, Docker Compose, Ansible etc. You're spot on that if he'd have applied some thought outside of simply 'fixing pihole' he might have seen there are more modern and elegant solutions to configure network-wide adblocking. e.g. AdGuard Home is an opensource single-binary precompiled for most architectures and OSes. Self-updating with an HTTPS multi-user GUI; supports DoH, DoT, dnscrypt out-of-the-box. Has a single yml config file to backup/sync; supports adblock lists based on regex as well as hosts file format. Downloading and running that one little binary gives him the endgame he wants a lot more elegantly.