this post was submitted on 31 Oct 2024
11 points (92.3% liked)

Selfhosted

40703 readers
449 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 2 years ago
MODERATORS
 

Hi, I have a home server (basically a NAS) currently running Debian. Basically it's configuration is as follows

  • debian host running 3 VMs

  • debian running inside each VM as docker host

I just manually install KVM on the host then docker on each VM after creating each of them. I documented the process so I know how to replicate it in case I need to rebuild.

I now dream of being able to automate the rebuild process using config files. I know this is done using Ansible.

But I've now heard of Talos.. (A thin layer for kubernetes) and intrigued. But I suppose I need a setup for the VM host to achieve automation through config files..

What setup are you guys using?

Thank you.


Thanks for all your suggestions! I've chosen to go with just bash scripting (given my simple setup) and keep the setup as it is.. Just gotta learn bash and virsh :)

top 13 comments
sorted by: hot top controversial new old
[–] [email protected] 5 points 1 month ago* (last edited 1 month ago) (1 children)

~~Stop. Docker is not a hypervisor and shouldn't be used as one.

Either use a docker compose file to do automated deployments or move to Proxmox and use host templates to deploy VMs which then can host docker.

There is zero reason to run KVM in docker.~~

Never mind, I misread. What you are looking for is Ansible. You can create a VM template that has your SSH keys configured and then you use Ansible to spin up a VM and do stuff instead the VM. I know how to do this under Proxmox but I have no idea how to do it under pure Debian. A lot of it is probably the same.

[–] [email protected] 2 points 1 month ago (2 children)

Thanks.. Just for clarification, you can use Ansible to control Proxmox as well.. and automate the entire VM bring up?

[–] [email protected] 4 points 1 month ago
[–] monkeyman512 2 points 1 month ago

Proxmox is basically a VM management software that runs in a Debian install. You may be able to add it to your current install, but I am not certain about that.

[–] [email protected] 4 points 1 month ago (1 children)

I just use a few shell scripts. Basically some simple bash scripts that do all the work after a fresh install.

Kubernetes/Ansible are great to learn, but are also more complicated for simple setups.

[–] [email protected] 2 points 1 month ago (2 children)

haven't thought about it. I guess I'll learn some bash :)

BTW what is a good OS for the VM host? many here are running proxmox... would you recommend it for this purpose of bash automation to bring up VMs?

[–] Anarchistcowboy 3 points 1 month ago (1 children)

Proxmox is built on Debian and is great. My second choice would just be plain Debian.

[–] [email protected] 2 points 1 month ago

Okay 👍 Thanks for your suggestions. Think I'll just stick with Debian 🙂

[–] [email protected] 2 points 1 month ago (1 children)

I use Debian and Ganeti. I've not toyed with much else, so I dont know how they compare.

[–] [email protected] 2 points 1 month ago

thanks for the info... I'm thinking of sticking with just Debian (as my simple usecase) and use virsh commands..

[–] Hule 4 points 1 month ago

When I change my server, I always start from scratch, hoping that it will come out better.

I don't know what I'm expecting, it was always working well..

[–] [email protected] 3 points 1 month ago

Personally, if you're considering it already, kubernetes might be something to look into. It's a lot. Like a lot to learn. But I can honestly say I could do it for a job now with how much I've learned. Then it's less about how to set up machines and more about just reapplying your infrastructure.

[–] [email protected] 1 points 1 month ago* (last edited 1 month ago)

I'm now using Fedora CoreOS which can be deployed from config files. It's really neat to be able to define everything the way you need it and just start up the VM with no further config necessary. I'm using podman to manage my services.