Selfhosted
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:
-
Be civil: we're here to support and learn from one another. Insults won't be tolerated. Flame wars are frowned upon.
-
No spam posting.
-
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.
-
Don't duplicate the full text of your blog or github here. Just post the link for folks to click.
-
Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).
-
No trolling.
Resources:
- selfh.st Newsletter and index of selfhosted software and apps
- awesome-selfhosted software
- awesome-sysadmin resources
- Self-Hosted Podcast from Jupiter Broadcasting
Any issues on the community? Report it using the report flag.
Questions? DM the mods!
view the rest of the comments
Can't you just kexec and be on your way?
I am not well versed with
kexecbut I always understood it to be a kernel reboot without power cycling the "metal." Please enlighten us with an example! I don't see how you'd replace the entire userspace (and possibly filesystem) with simply kexec.Kexec can be used to load a new kernel and "reboot" quickly, it can also be used to load a new kernel, an initrd and never touch the disk. Such a system lives completely in ram and allows you to modify the disk in any way you want without breaking you running Linux (which is in ram)
Any distro that has a network boot installer that can be passed to kexec can be installed this way, any that don't can still kexec any Linux distro and then install any other distro by passing the disk to a VM and installing linux through that.
You can also kexec the netboot.xyz image and get any distro supported there.
The "gotcha" with Oracle free tier is that you can't install from arbitrary media, so the typical netboot.xyz or any iPXE workflow is out. No console access, no pre-bootloader access, nothing.
I've been fiddling with kexec, but it doesn't seem like a supported method of loading the lkrn file from netboot...
This is super interesting to me, so by all means, if you have the kung-fu to show how this works I would happily read through that!
Yeah I tried just now and it diesn't seem to be working (anymore?) could've sworn that worked.
You can still kexec the installiers directly, I followed the netboot.xyz scripts and got the links they use. Here's Debian as an example:
From the scripts: https://deb.debian.org/debian/dists/stable/main/installer-amd64/current/images/netboot/ looking at the boot config debian-installer/amd64/grub/grub.cfg
so we need to download those two files and take the netboot.xyz cmdline arguments then
and it boots.
also here's an example for the nixos netboot commands, more on that in the nixos manual:
Edit:
If that means that you can only connect to SSH and have no VGA/video then this will be limited, you could setup an automated install but that requires a lot more knowledge than what your guide requires.
Okay this is excellent content, thank you!
I went through and fiddled with some more stuff to try and get this working to no avail. However, it inspired me to take apart netboot.xyz a bit more, and I was able to grab an efi and get next boot to load the efi file. It took me too long to realize you need the console tty arguments as part of the boot cmdline to get it working interactively, but after I got there I got it netbooted. Sadly though, it almost immediately runs into an OOM condition and thus isn't practical on a free tier x86 asset. It would probably work on an aarch64 node, but I already have my allotted arm node spun up and working so I don't have a free one to practice with.
Solid write-up though, thank you for putting that together!