Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Big +1 on this. If you're OK with a broader definition of "programming" and have a bit of money to throw around, I've found tinkering with https://www.home-assistant.io/ to be very satisfying. I got more sense of accomplishment from scripting "text me when I leave the house if I forgot to set the alarm, and turn on the front porch lights when I arrive back if it's after sunset" than I did from months of corporate work, even though the actual _difficulty_ was much lower. I can _see_ the results of my work, and benefit from them most days!



Deploying Home Assistant is largely how I taught myself Docker, Kubernetes etc. Its much easier to learn solving a "real" example.

You can learn a ton just trying to do a production grade home assistant deployment - move on to SSL termination at the load balancer with letsencrypt, try different deployment strategies for upgrading the server with zero down time, write custom extensions... etc etc.

I've now got a small Pi cluster running k8s to deliver a bunch of services at home, and its all really easy to maintain. I've absolutely used the skills and knowledge gained in my day job too, which is nice. Home Assistant is great to learn a lot of production web app stuff, all you need to get started is as little as the PC you already own, or something like a Pi to host it. As it can solve problems in your actual life, it's rewarding enough to be interesting I've found.


Ha, I also got most of my initial experience the same way :) I use k8s at work now, am somewhat frustrated with it and would like to run a k8s cluster at home, but I have a hard time justifying it. I'm not sure if a pi k8s cluster would make sense for me either, although I do have enough pis laying around for a small-ish one. I've considered ordering a couple (more) r210 ii's and making a cluster, but don't know what the stack would be exactly.The beefiest machine in my home currently is an unraid server, and I run a small number of services in a docker-compose stack on a vps.

Do you find that there are functions that are unique to k8s for a selfhoster that demand a system with that kind of overhead?


Setting stuff up in order to have fun with it and learn is always worth it. It's "always" worth it to use overkill on a personal project.

Of course you don't need that k8s cluster and of course you shouldn't really use pis. But it'll be fun. You could also just use 10 vms running on your computer and each vm is one node in the k8s cluster if you don't want to buy hardware. Then you see what happens when "hardware failure" occurs. I.e. you kill a vm without shutting it down properly. Or yank the power on one of the pis.

The point is, once you need it for a real project now you know how it works and when to actually use it and when not to. Heck all the stuff I set up on my single old 200MHz system, no vms nothing taught me basically everything I needed to become an actual sys/network admin later.


> I've now got a small Pi cluster running k8s to deliver a bunch of services at home, and its all really easy to maintain. I've absolutely used the skills and knowledge gained in my day job too, which is nice.

I'm reasonably sure that being able to talk about my home k3s-on-pi's cluster was a positive factor in getting my latest job :)


I knew this guy that automated his home with Prolog. It was quite a cool project. I 100% agree with picking a project to learn.


How i love these quirky side project! Do you have a link to a repo? Would like to see his setup!


I do not think he publishes it. But I would not be surprised if he sees this comment on HN.


Homeassistant is such a useful project. I use it for self hosting bitwarden, ubiquiti addon and bunch of smart home devices. For SSL I have been using local root authority but is a pain to maintain. I am able to access HA client from browser and Android phones but iPhones don't want to play. How did you do LetsEncrypt with HA?


I just did Caddy container as reverse proxy for my HA server - Caddy has support for Letsencrypt built in. Needs very little configuration. This approach lets you put SSL on any webservice you are running, the configuration is not specific to HA at all.

https://caddyserver.com/

https://en.wikipedia.org/wiki/Reverse_proxy

If you use LetsEncrypt's DNS-01 challenge to setup the SSL automatically, you can even deploy valid working SSL for IPs in the private range (192.168.x.x, 10.x.x.x etc etc), allowing auto-deployment of SSL for private services on your LAN, not just publicly accessible/exposed IPs. You can get around port forwarding during initial letsencrypt setup with this too, as all happens via DNS providers public APIs.

> https://letsencrypt.org/docs/challenge-types/#dns-01-challen...

Caddy is really easy to deploy as a Docker instance as well. There are many, many ways to accomplish LetsEncyrypt with HA though! It's really just an example of a common generic reverse proxy problem - searching for "reverse proxy letsencrypt" will show you many other ways to do it too. If you are using Docker to host your services at small scale, there are some really clever options now that auto-configure Caddy and SSL via letsencrypt all just using docker compose:

https://github.com/lucaslorentz/caddy-docker-proxy




Consider applying for YC's Fall 2025 batch! Applications are open till Aug 4

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: