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
- https://github.com/ublue-os/ucore/blob/main/examples/ucore-autorebase.butane
- Settings for butane
- password: https://coreos.github.io/butane/examples/#using-password-authentication
- ssh pub key
- Generate Ignition file
- https://coreos.github.io/butane/getting-started/
- 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
).
- i.e.
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