this post was submitted on 09 Jul 2023
18 points (90.9% liked)

Selfhosted

40183 readers
665 users here now

A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don't control.

Rules:

  1. Be civil: we're here to support and learn from one another. Insults won't be tolerated. Flame wars are frowned upon.

  2. No spam posting.

  3. Posts have to be centered around self-hosting. There are other communities for discussing hardware or home computing. If it's not obvious why your post topic revolves around selfhosting, please include details to make it clear.

  4. Don't duplicate the full text of your blog or github here. Just post the link for folks to click.

  5. Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).

  6. No trolling.

Resources:

Any issues on the community? Report it using the report flag.

Questions? DM the mods!

founded 1 year ago
MODERATORS
 

I recently switched from TrueNAS to Synology for my NAS. TrueNAS had served me well, but I no longer had the time to manage it effectively.

On this occasion, I decided to overhaul my entire home lab, which had gotten pretty messy over the years. As part of this overhaul, I will be discarding my old TrueNAS device due to its high power consumption and bulkiness. I will keep a NUC and another NUC alternative with slightly lower specs, but with 2+ LAN ports.

With this configuration, my plan is to use Proxmox on the NUC as the primary system and use the second NUC as a backup. The backup NUC however ha a dedicated connection via multiple LAN ports directly to the Synology NAS, so that would be ideal to storage intensive tasks.

My primary use case will be running containers and a few VMs for services like Git, Pi hole, backup services and more. Although my Synology NAS supports running containers and VMs, I prefer to keep things separate. I've already taken care of my infrastructure needs and won't be hosting pfSense or similar services.

Since I haven't looked into best practices lately, I'm very interested in learning new technologies like Ansible for automation.

I'm especially interested in understanding how to automate installs and updates while working with containers and VMs. I am considering whether to stay with Proxmox or go for a simpler distribution like Debian, Fedora or others.

Thanks for you insights!

top 11 comments
sorted by: hot top controversial new old
[–] IlliteratiDomine@infosec.pub 6 points 1 year ago (2 children)

Little clusters of nucs has become a really common way to run small Kubernetes clusters at home. I recently rebuilt mine (still using a bulky, power hungry box like you're tossing) and have been very happy with it. Everything is really stable, containers that misbehave are automatically destroyed and replaced, and updates are breeze because everything lives in code/git.

[–] green_dot@le.fduck.net 4 points 1 year ago (1 children)

What would be a benefit to run k8s at home, apart from bit dealing with it, compared to docker-compose on a single or two nodes? or docker swarm? Unless there is a big load of services that are selfhosted, which I get, and the autohealing from k8s as the orchestrator.

Just courious, not taking a swing. Thanks!

[–] psmt@lemmy.pcft.eu 2 points 1 year ago (1 children)

K8s really shines when you start hosting more stuff, even on a single node. I definitely recommend giving k3s a try. I wouldn't recommend it for only a couple of services though.

Is it overkill? Yes, applying docker-compose manually also works. But then you still have to make your reverse proxy, your certificate and all your services work together. You can write Ansible for it, but then you end up with a lot of custom code to maintain and you still don't get all the nice features.

For me the killer feature was flux. Your code, configs and even secrets live in git and get autodeployed and autohealed. And it has other features such as operators to fetch helm charts from other repos and apply your config to it.

[–] green_dot@le.fduck.net 1 points 1 year ago

Thanks for the reply, flux is pretty good, I'm using ArgoCD, but both are basically following gitops priciples.

I might give k3s a look and see how ot all work together.

I am in the sort of power hungry box category. The cost of NUCs have gone up in my area. I've found that the big box stuffed with second hand hardware to offer more value for my use case.

[–] HailHodor@lemmy.world 3 points 1 year ago (2 children)

Ansible is definitely worth exploring. As usual, there are a million tutorials on YouTube that will walk you through a quick deployment and some basic playbooks, but if you want a more fulsome understanding and deeper overview, I'd look at Techworld with Nana's Ansible course. She's extremely thorough, and she has a bunch of other videos that might give you some ideas on how to clean up your lab, especially since you're starting fresh.

[–] doeknius_gloek@feddit.de 4 points 1 year ago (1 children)

Just wanted to add that you can get Jeff Geerlings book "Ansible for DevOps" for free right now:

https://leanpub.com/ansible-for-devops/c/CTVMPCbEeXd3

[–] HailHodor@lemmy.world 1 points 1 year ago

Awesome, thanks for the recommendation!

[–] autopilot@lemmy.world 3 points 1 year ago (2 children)

Thanks! How would you say the learning curve for Ansible is? I want to dedicate a week only to that so I got a little bit of time at the moment. My goal is to automate everything as much as possible and make the whole system low maintainance. I don't have the time anymore to fix stuff or maintain the whole thing multiple times a month.

I know, selfhosting always comes with the risk of everything crashing down, but that risk I'm taking and trying to mitigate it as much as possible with best practices etc.

Thus far I've had very little in the way of difficulty with my self-hosting. Just remember that backups become even more important.

[–] HailHodor@lemmy.world 1 points 1 year ago

As is the case with homelab in general, it's pretty simple and easy to get the basics, but Ansible can scale up to enterprise-grade complexity if you really want to go down a rabbit hole. For what you're describing, I think you'll find it to be pretty straightforward.