Skip to main content

index

Visual overview

Prefer a visual tour? See the TunaOS overview โ†’ landing page.

TunaOSโ€‹

A Collection of Cloud-Native Enterprise Linux OS Imagesโ€‹

Bootc-based desktop Linux images built on AlmaLinux, CentOS Stream, and Fedora


License GitHub Stars Issues

๐Ÿš€ About TunaOSโ€‹

TunaOS is a curated collection of bootc-based desktop operating systems built on modern container technology. The goal is to bring a modern desktop experience to Enterprise Linux โ€” stable, immutable, and up-to-date. Inspired by Bluefin and the Universal Blue community.

Featuresโ€‹

  • Modern Desktops: GNOME, KDE Plasma, COSMIC, and Niri โ€” your choice, on Enterprise Linux
  • Latest GNOME: Don't get stuck on a 3-year-old GNOME. We backport the latest desktop features to the Enterprise Desktop
  • Homebrew: Baked into the image โ€” all your CLI apps and fonts are just a brew command away
  • Flathub by Default: Full Flathub access out of the box โ€” get any Flatpak available on the net
  • HWE Option: Hardware Enablement kernel for newer hardware support
  • NVIDIA Option: NVIDIA drivers and CUDA for graphics and AI workflows

๐Ÿ  Imagesโ€‹

1000016351

Desktopsโ€‹

Each variant ships multiple desktop environments:

Tag suffixDesktop
gnomeGNOME (stable)
gnome50GNOME 50 (latest)
kdeKDE Plasma
cosmicCOSMIC Desktop
niriNiri (tiling Wayland compositor)

Hardware Variantsโ€‹

Append to any desktop tag:

SuffixDescription
(none)Standard build
-hweHardware Enablement โ€” newer kernel stack
-nvidiaNVIDIA drivers + CUDA
-nvidia-hweNVIDIA on HWE kernel

Example: ghcr.io/tuna-os/yellowfin:gnome-hwe, ghcr.io/tuna-os/albacore:kde-nvidia


๐Ÿ  Yellowfin (AlmaLinux Kitten 10)โ€‹

Base: AlmaLinux Kitten 10 โ€” the closest to upstream CentOS Stream

Platforms: x86_64, x86_64/v2 (pre-2013 CPUs), ARM64

ghcr.io/tuna-os/yellowfin:gnome
ghcr.io/tuna-os/yellowfin:gnome-hwe
ghcr.io/tuna-os/yellowfin:kde
ghcr.io/tuna-os/yellowfin:niri
ghcr.io/tuna-os/yellowfin:cosmic
  • โœจ x86_64/v2 microarchitecture support
  • ๐Ÿ–ฅ๏ธ SPICE support for qemu/libvirt virtualization
  • ๐Ÿ”„ Compatible with upstream โ€” Kitten tracks CentOS Stream

๐ŸŸ Albacore (AlmaLinux 10)โ€‹

Base: AlmaLinux 10 โ€” stable, RHEL-compatible

Platforms: x86_64, x86_64/v2, ARM64

ghcr.io/tuna-os/albacore:gnome
ghcr.io/tuna-os/albacore:gnome-hwe
ghcr.io/tuna-os/albacore:kde
ghcr.io/tuna-os/albacore:niri
ghcr.io/tuna-os/albacore:cosmic
  • โœจ x86_64/v2 microarchitecture support
  • ๐Ÿ–ฅ๏ธ SPICE support for qemu/libvirt virtualization
  • ๐Ÿข Enterprise stability โ€” follows RHEL lifecycle

๐Ÿฃ Skipjack (CentOS Stream 10)โ€‹

Base: CentOS Stream 10 โ€” the upstream of RHEL

Platforms: x86_64, ARM64

ghcr.io/tuna-os/skipjack:gnome
ghcr.io/tuna-os/skipjack:kde
ghcr.io/tuna-os/skipjack:niri
ghcr.io/tuna-os/skipjack:cosmic

[!NOTE] Bonito is still a work in progress and may not be fully functional

๐ŸŽฃ Bonito (Fedora 44)โ€‹

Base: Fedora 44 โ€” cutting-edge Fedora on bootc

Platforms: x86_64, ARM64

ghcr.io/tuna-os/bonito:gnome
ghcr.io/tuna-os/bonito:kde
ghcr.io/tuna-os/bonito:niri
ghcr.io/tuna-os/bonito:cosmic

๐Ÿ”’ Redfin (RHEL 10) โ€” Local-Build Onlyโ€‹

Base: Red Hat Enterprise Linux 10 โ€” fully supported, subscription-based

Platforms: x86_64, ARM64

[!IMPORTANT] Due to the RHEL EULA, Redfin images cannot be publicly distributed. This variant is local-build only. For a freely redistributable RHEL-compatible alternative, use Albacore (AlmaLinux 10).

See docs/rhel-setup.md for prerequisites, authentication, and build instructions.

just redfin base

๐Ÿ“‹ System Requirementsโ€‹

ComponentMinimumRecommended
CPUx86_64, ARM64x86_64, ARM64
RAM4 GB8 GB+
Storage20 GB50 GB+

๐Ÿ› ๏ธ Installationโ€‹

Use a pre-built ISOโ€‹

ISOs are published every two weeks for gnome and gnome-hwe flavors of Yellowfin and Albacore:

VariantGNOMEGNOME (HWE)
Albacorealbacore-gnome-latest.isoalbacore-gnome-hwe-latest.iso
Yellowfinyellowfin-gnome-latest.isoyellowfin-gnome-hwe-latest.iso

Build your own ISO or VM imageโ€‹

Use tacklebox to build ISOs:

# ISO (requires root)
sudo tacklebox build --iso tunaos-yellowfin-gnome.iso \
--bootable-environment-image ghcr.io/tuna-os/yellowfin:gnome \
--bootable-environment-desktop gnome \
--output-base .build/iso

Or use the included helper script:

sudo ./scripts/build-iso-tacklebox.sh yellowfin gnome ghcr gnome

For QCOW2 VM images, use bootc directly:

# QCOW2 (VM image)
sudo bootc image build-to-qcow2 \
--output-format qcow2 \
ghcr.io/tuna-os/yellowfin:gnome

Switch an existing systemโ€‹

If you're already running a compatible bootc system:

sudo bootc switch ghcr.io/tuna-os/yellowfin:gnome

๐Ÿ” Container Registry Authenticationโ€‹

Images are published on GitHub Container Registry (GHCR). To pull images with bootc or podman:

# Authenticate to GHCR (requires a GitHub personal access token with read:packages scope)
echo "$GITHUB_TOKEN" | podman login ghcr.io -u YOUR_USERNAME --password-stdin

# Or use the GitHub CLI
gh auth token | podman login ghcr.io -u YOUR_USERNAME --password-stdin

See GitHub Container Registry docs for more details.

๐Ÿงช Current Statusโ€‹

Note: These images are in active development. Yellowfin and Albacore are the most mature variants. Bonito (Fedora) still needs work.

Contributingโ€‹

Contributions welcome! See CONTRIBUTING.md for:

  • Development environment setup
  • Build workflow and pre-commit checklist
  • Pull request guidelines
  • Architecture overview

๐Ÿค Community & Supportโ€‹

Related Communities:

๐Ÿ“š Documentationโ€‹

Project Docsโ€‹

Policies & Planningโ€‹

Community & Governanceโ€‹

  • Community โ€” contribution ladder, metrics, communication
  • Maintainers โ€” maintainer playbook and bus factor plan

TunaOS ecosystemโ€‹

The tools that build, install, and extend these images โ€” see them all on the Projects page:

External Resourcesโ€‹


Tuna_OS_Logo

Made by James in his free time

Powered by Bootc

Bootc_Logo

Inspired by Bluefin and the Universal Blue Community

Licensed under Apache 2.0