this post was submitted on 07 Sep 2023
31 points (100.0% liked)

Selfhosted

40708 readers
456 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
 

I'm wanting to create a centralized repository to keep base images of operating systems to be installed on new laptops or workstations bought/used in my household with my local CA already installed, configured to authenticate with my local FreeIPA instance, network configurations already configured, etc.

What do you all use to accomplish this? I'm only free/libre/open source software for my home lab, so that's a requirement as well.

Ideally I'd like to be able to buy a computer, flash the latest and greatest from my repository onto a bootable thumb drive, install onto the computer, and be ready to go without any further configuration.

top 14 comments
sorted by: hot top controversial new old
[–] vividspecter@lemm.ee 14 points 1 year ago

This is something NixOS excels at, but there is a bit of a learning curve. Maybe ansible as a non distro specific approach although I haven't used it myself.

[–] GregoryTheGreat@programming.dev 11 points 1 year ago (1 children)

I’ve used commercial systems that provide what you are asking for. I’m not sure it is worth the time to setup for a home lab. I don’t see the ROI for it. Too much initial setup for the small gains afterwards.

I expect you’ll want to bake in a install config and likely a update-all.sh of some sort to each image you want to deploy. I think the frequency of that is the major time suck unless you only use LTS releases.

That said I think a PXE boot server is what you may be looking for.

[–] CameronDev@programming.dev 6 points 1 year ago

I had a pxe server for my house a few years ago, and the effort maintaining it well outstripped the savings, especially for windows images. It was useful for learning, but not for real life usage.

[–] mattreb@feddit.it 10 points 1 year ago (1 children)

Clonezilla. I usually prepare images in virtual machines and restore them on physical drives.

[–] elbarto777@lemmy.world 1 points 1 year ago (1 children)

How do you deal with the hardware differences between a virtual machine and actual hardware?

[–] mattreb@feddit.it 2 points 1 year ago

I only tried this with windows which works fine: on restore Clonezilla has an option to rescale partitions on the fly to fit the destination drive. For drivers, windows detect changes and update them the first time is started on the physical machine.

[–] cmnybo@discuss.tchncs.de 8 points 1 year ago

I just have a bash script I run after the installation to configure things and install the software I use.

[–] kylian0087@lemmy.world 6 points 1 year ago (1 children)

seems likea FOG server: https://fogproject.org/ is what you need.

A awesome project and greatly simplifies the PXE boot process. You have a repo of images you have setup ready to go and be installed.

[–] nehal3m@sh.itjust.works 1 points 1 year ago

I set this up for production on a factory floor for others to use. It’s nice, works extremely well once set up. Importing and exporting images could be easier.

[–] emhl@feddit.de 4 points 1 year ago* (last edited 1 year ago)

If you want to use OpenSUSE leap as your OS autoyast is made for that: automatic installation and configuration of new systems without (or with minimal) attendence

Or you could write an bash script that makes all those configurations and just run it after finishing the Install.

An ansible playbook would be another option to do these configurations semi-automatically

[–] s38b35M5@lemmy.world 3 points 1 year ago (1 children)
[–] SheeEttin@lemmy.world 1 points 1 year ago

I didn't actually implement it, but it looked like the winner last time I looked. I'd also recommend starting there.

For work it's all Windows so we use MECM.

[–] Katrina@lemmy.blahaj.zone 2 points 1 year ago

I have a set of shell / powershell scripts that I run post-install to configure everything. They are hosted on a local webserver, so it is just a one-line command to run the appropriate one.

Fog and sysprep.