Home Adopting Cloud-Native Technologies for my Server/HomeLab
Post
Cancel

Adopting Cloud-Native Technologies for my Server/HomeLab

Intro

I have been using cloud native OS for my personal devices (and work ones during my PhD) for several years now; first with Fedora Silverblue and lately using the excellent Bluefin and Bazzite images from Universal Blue.

However, due in big part to the dauting prospect of having to set up most of my services and NAS, I have not made the same move for my home server. That is, until now. This post will therefore serve a guide for myself to document this journey and, hopefully, make the eventual next move more palatable. Let’s go!

uCore OS

uCore is an opinionated and extended OCI image of Fedora CoreOS. As I need my server to also act as a small capacity NAS, I will install the ucore image with the optional ZFS support. My target will therefore be ucore:stable-zfs.

Installation

Being based on CoreOS this is somewhat unique in that it usually requires a second machine to generate and “serve” an Ignition file, although here I will be generating the file locally on my server.

The instructions below have been taken from the uCore github and the CoreOS documentation. This great guide was also used throughout the process: https://discussion.fedoraproject.org/t/beginners-guide-to-fedora-coreos/143037

  1. https://github.com/ublue-os/ucore/blob/main/examples/ucore-autorebase.butane
  2. Settings for butane
    • password: https://coreos.github.io/butane/examples/#using-password-authentication
    • ssh pub key
  3. Generate Ignition file
    • https://coreos.github.io/butane/getting-started/
  4. Trigger uCore installation
    • i.e. sudo coreos-installer install /dev/nvme0n1 --ignition-url https://example.com/ucore-autorebase.ign (or --ignition-file /path/to/ucore-autorebase.ign).

Setup

https://github.com/ublue-os/ucore?tab=readme-ov-file#automatically-start-containers-on-boot

https://github.com/ublue-os/ucore?tab=readme-ov-file#default-services

https://github.com/ublue-os/ucore?tab=readme-ov-file#nas—storage

https://github.com/ublue-os/ucore?tab=readme-ov-file#samba

https://github.com/ublue-os/ucore?tab=readme-ov-file#secureboot-w-kmods

https://github.com/ublue-os/ucore?tab=readme-ov-file#zfs

This post is licensed under CC BY 4.0 by the author.