diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index d7c0586..02ff69e 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -27,14 +27,10 @@ jobs: distro: - image: debian:bookworm source: bookworm - - image: debian:sid - source: sid - image: ubuntu:jammy source: jammy - image: ubuntu:noble source: noble - - image: kalilinux/kali-rolling:latest - source: kali - image: rockylinux:9 source: rocky-9 - image: almalinux:9 @@ -65,7 +61,7 @@ jobs: - name: Build shell: bash env: - IMAGE: junoinnovations/helios:${{ (github.ref_name == 'main' && 'unstable') || steps.calculate_ref.outputs.ref }}-${{ matrix.distro.source }} + IMAGE: junoinnovations/helios-vfx:${{ (github.ref_name == 'main' && 'unstable') || steps.calculate_ref.outputs.ref }}-${{ matrix.distro.source }} run: | echo "Building ${IMAGE}" docker build . --build-arg IMAGE=${{ matrix.distro.image }} --build-arg SRC=${{ matrix.distro.source }} -t ${IMAGE} @@ -74,7 +70,7 @@ jobs: shell: bash if: ${{ github.ref_name == 'main' || startsWith(github.event.ref, 'refs/tags/v') || steps.calculate_ref.outputs.is_feat == 'true' }} env: - IMAGE: junoinnovations/helios:${{ (github.ref_name == 'main' && 'unstable') || steps.calculate_ref.outputs.ref }}-${{ matrix.distro.source }} + IMAGE: junoinnovations/helios-vfx:${{ (github.ref_name == 'main' && 'unstable') || steps.calculate_ref.outputs.ref }}-${{ matrix.distro.source }} run: | echo "Building ${IMAGE}" docker push ${IMAGE} diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml deleted file mode 100644 index 2bc2bfb..0000000 --- a/.github/workflows/docs.yml +++ /dev/null @@ -1,17 +0,0 @@ -name: publish -on: - push: - branches: - - main -permissions: - contents: write - -jobs: - deploy: - runs-on: - - X64 - steps: - - uses: actions/checkout@v3 - - run: python3.14 -m venv venv - - run: venv/bin/pip install -r requirements.txt - - run: venv/bin/mkdocs gh-deploy --force \ No newline at end of file diff --git a/.github/workflows/lint-docs.yml b/.github/workflows/lint-docs.yml deleted file mode 100644 index 80b55c8..0000000 --- a/.github/workflows/lint-docs.yml +++ /dev/null @@ -1,16 +0,0 @@ -name: Lint docs -on: - push: - repository_dispatch: - types: [orion_documentation_update] -jobs: - lint-docs: - name: Lint - runs-on: X64 - steps: - - name: Checkout - uses: actions/checkout@v2 - - name: Run the lint target - shell: bash - run: | - make lint-docs diff --git a/Makefile b/Makefile index 5855fe4..57a487c 100644 --- a/Makefile +++ b/Makefile @@ -1,6 +1,6 @@ SHELL := /bin/bash -.PHONY: docs jammy kali noble rocky-9 alma-9 bookworm sid alpine-3 packages dcv-noble dcv-jammy dcv-rocky-9 dcv-alma-9 +.PHONY: docs jammy noble rocky-9 alma-9 bookworm packages # documentation docs: .venv/bin/activate @@ -44,14 +44,6 @@ bookworm: @docker compose build --build-arg IMAGE=debian:bookworm --build-arg SRC=bookworm @docker compose up -sid: - @docker compose build --build-arg IMAGE=debian:sid --build-arg SRC=sid - @docker compose up - -kali: - @docker compose build --build-arg IMAGE=kalilinux/kali-rolling:latest --build-arg SRC=kali - @docker compose up - # UBUNTU jammy: @docker compose build --build-arg IMAGE=ubuntu:jammy --build-arg SRC=jammy diff --git a/README.md b/README.md index fcb6b98..5208a18 100644 --- a/README.md +++ b/README.md @@ -12,37 +12,33 @@ --- -[Official Documentation](https://juno-fx.github.io/Helios/) +[Official Documentation](https://juno-fx.github.io/Helios/) Helios provides base images for multiple key Linux distributions, optimized to be as small as possible to: -- Reduce pull times -- Minimize the attack surface -- Lower data transfer costs +- Reduce pull times +- Minimize the attack surface +- Lower data transfer costs These images are lightweight, efficient, and ready to use across environments like Docker, Kubernetes, and more. Some key points about Helios: -- **Base Images**: Designed as base images for Selkies-compatible deployments. +- **Base Images**: Designed as base images for Selkies-compatible deployments. - **Extremely Minimal Desktops**: Images are intentionally minimal; avoid adding software directly. Instead, extend via the `FROM` instruction in your Dockerfile. ## 📚 Table of Contents -- 🚀 [Features](#✨-features) +- 🚀 [Features](#✨-features) - ⚙️ [Selkies Setup](#⚙️-selkies-setup) -- 🐧 [Distros Overview](#🐧-distros-overview) - - Alpine - - [Alpine 3](#alpine-3) - - Debian - - [Debian 12 (Bookworm)](#debian-12-bookworm) - - [Debian Rolling (Trixie/Sid)](#debian-rolling-trixie-sid) - - [Kali Linux (Rolling Release)](#kali-linux-rolling-release) - - Ubuntu - - [Ubuntu 24.04 (Noble)](#ubuntu-2404-noble) - - [Ubuntu 22.04 (Jammy)](#ubuntu-2204-jammy) - - RHEL - - [Rocky Linux 9](#rocky-linux-9) +- 🐧 [Distros Overview](#🐧-distros-overview) + - Debian + - [Debian 12 (Bookworm)](#debian-12-bookworm) + - Ubuntu + - [Ubuntu 24.04 (Noble)](#ubuntu-2404-noble) + - [Ubuntu 22.04 (Jammy)](#ubuntu-2204-jammy) + - RHEL + - [Rocky Linux 9](#rocky-linux-9) - [Alma Linux 9](#alma-linux-9) - 🏷️ [Versioning](#%EF%B8%8F-versioning) - ⚡ [Usage](https://juno-fx.github.io/Helios/deploy-usage/) @@ -52,7 +48,7 @@ Some key points about Helios: ## ✨ Features -- **Lightweight**: Minimal resource usage for efficient performance. +- **Lightweight**: Minimal resource usage for efficient performance. - **WebRTC Support** (Coming Soon): High performance, low-latency video streaming. - **Audio Support**: High-quality audio streaming for improved user experience. - **VirtualGL Support**: Hardware-accelerated 3D graphics using `vglrun`. @@ -124,7 +120,6 @@ Helios uses its own versioning scheme independent of the underlying distro versi | `v0.0.0-bookworm` | Debian 12 (Bookworm) | | `v0.0.0-noble` | Ubuntu 24.04 | | `v0.0.0-jammy` | Ubuntu 22.04 | -| `v0.0.0-kali` | Kali Linux | | `v0.0.0-rocky-9` | Rocky Linux | | `v0.0.0-alma-9` | Alma Linux | @@ -138,7 +133,6 @@ Helios uses its own versioning scheme independent of the underlying distro versi - `unstable-bookworm` (Debian 12) - `unstable-noble` (Ubuntu 24.04) - `unstable-jammy` (Ubuntu 22.04) - - `unstable-kali` (Kali Linux) - `unstable-rocky-9` (Rocky Linux) - `unstable-alma-9` (Alma Linux) @@ -148,7 +142,6 @@ Helios uses its own versioning scheme independent of the underlying distro versi - `testing-noble` (Ubuntu 24.04) - `testing-bookworm` (Debian 12) - `testing-jammy` (Ubuntu 22.04) - - `testing-kali` (Kali Linux) - `testing-rocky-9` (Rocky Linux) - `testing-alma-9` (Alma Linux) diff --git a/kali/build/system.sh b/kali/build/system.sh deleted file mode 100644 index 61bf08d..0000000 --- a/kali/build/system.sh +++ /dev/null @@ -1,57 +0,0 @@ -#!/bin/bash - -set -e - -export DEBIAN_FRONTEND=noninteractive - -echo "deb http://http.kali.org/kali kali-rolling main non-free contrib" >>/etc/apt/sources.list -echo "deb-src http://http.kali.org/kali kali-rolling main contrib non-free non-free-firmware" >>/etc/apt/sources.list - -apt update -apt upgrade -y -apt install -y gnupg curl wget -wget -q -O- https://packagecloud.io/dcommander/virtualgl/gpgkey | gpg --dearmor >/etc/apt/trusted.gpg.d/VirtualGL.gpg -echo "deb [signed-by=/etc/apt/trusted.gpg.d/VirtualGL.gpg] https://packagecloud.io/dcommander/virtualgl/any/ any main" >/etc/apt/sources.list.d/virtualgl.list -curl -fsSL "https://deb.nodesource.com/setup_$SELKIES_NODE_VERSION.x" | bash - -apt update - -apt install --no-install-recommends -y \ - $(cat /lists/debian.list) \ - fastfetch \ - kali-wallpapers-2025 \ - gcc \ - g++ \ - python3-dev \ - python3-pip \ - libcrypt-dev - -# handle background -mv -v /usr/share/backgrounds/kali/kali-oleo-16x9.png /tmp/background.png -rm -rfv /usr/share/backgrounds/* -mv -v /tmp/background.png /usr/share/backgrounds/ - -# backwards compat for password generation -pip install crypt-r --break-system-packages - -# package clean up -apt remove --purge -y \ - gcc \ - g++ \ - python3-dev \ - python3-pip \ - libcrypt-dev - -# remove screensaver and lock screen -rm -f /etc/xdg/autostart/xscreensaver.desktop - -# configure vgl -/opt/VirtualGL/bin/vglserver_config +glx +s +f +t - -# build locale -/usr/sbin/locale-gen en_US.UTF-8 - -# run clean up -apt clean -y -apt autoclean -y -apt autoremove --purge -y -rm -rfv /var/lib/{apt,cache,log}/ /etc/systemd /var/lib/apt/lists/* /var/tmp/* /tmp/* diff --git a/kali/root/.hold b/kali/root/.hold deleted file mode 100644 index e69de29..0000000 diff --git a/packages/system.yaml b/packages/system.yaml index da224dc..51f13e2 100644 --- a/packages/system.yaml +++ b/packages/system.yaml @@ -122,6 +122,28 @@ packages: # Extra plugins for Tumbler to support additional file types (e.g., PDFs, videos, RAW images) in thumbnail previews. - debian: tumbler-plugins-extra + # Lightweight text editor for the XFCE desktop environment. + - common: mousepad + + # Lightweight text editor for the XFCE desktop environment. + - common: ffmpeg + + # Archive manager for the XFCE desktop environment, used to create and extract compressed files. + - common: xarchiver + + # ======================================== + # Nuke Dependencies + # ======================================== + - debian: libglvnd0 + - rhel: xcb-util-cursor-devel + debian: libxcb-cursor-dev + - rhel: xcb-util-keysyms + - debian: libxcomposite-dev + - debian: libxcb-xinerama0 + - debian: libxcb-icccm4 + - rhel: xcb-util-wm + debian: libxcb-util0-dev + # =============================== # System Utilities and Libraries # =============================== @@ -150,6 +172,11 @@ packages: - debian: procps rhel: procps-ng + # Libraries for QT6 GUI applications, including platform plugins. + - ubuntu: qt6-qpa-plugins + rhel: libatomic xcb-util-wm xcb-util-cursor qt5-qtbase-gui + debian: libxcb-cursor0 qt6-qpa-plugins + # ==================================== # X11 and Display Server Packages # ==================================== @@ -179,6 +206,7 @@ packages: # XKB (X Keyboard Extension) library, used for handling keyboard input via X11. - debian: libxkbcommon-x11-0 + rhel: libxkbcommon-x11 - debian: libxtst6 - debian: libxcb-keysyms1 diff --git a/sid/build/system.sh b/sid/build/system.sh deleted file mode 100644 index a20326a..0000000 --- a/sid/build/system.sh +++ /dev/null @@ -1,62 +0,0 @@ -#!/bin/bash - -set -e - -export DEBIAN_FRONTEND=noninteractive - -# add srcs for deb -sed -Ei 's/^Components: main /Components: main contrib non-free non-free-firmware /' /etc/apt/sources.list.d/debian.sources -cat >/etc/apt/sources.list </etc/apt/trusted.gpg.d/VirtualGL.gpg -echo "deb [signed-by=/etc/apt/trusted.gpg.d/VirtualGL.gpg] https://packagecloud.io/dcommander/virtualgl/any/ any main" >/etc/apt/sources.list.d/virtualgl.list -curl -fsSL "https://deb.nodesource.com/setup_$SELKIES_NODE_VERSION.x" | bash - -apt update - -apt install --no-install-recommends -y \ - $(cat /lists/debian.list) \ - fastfetch \ - gcc \ - g++ \ - python3-dev \ - python3-pip - -rm -rfv /usr/share/backgrounds/* - -# backwards compat for password generation -sudo apt-get install -y libcrypt-dev build-essential -pip install crypt-r --break-system-packages - -# package clean up -apt remove --purge -y \ - gcc \ - g++ \ - python3-dev \ - python3-pip \ - libcrypt-dev \ - build-essential - -# remove duplicate sources -rm -f /etc/apt/sources.list - -# remove screensaver and lock screen -rm -f /etc/xdg/autostart/xscreensaver.desktop - -# configure vgl -/opt/VirtualGL/bin/vglserver_config +glx +s +f +t - -# build locale -/usr/sbin/locale-gen en_US.UTF-8 - -# run clean up -apt clean -y -apt autoclean -y -apt autoremove --purge -y -rm -rfv /var/lib/{apt,cache,log}/ /etc/systemd /var/lib/apt/lists/* /var/tmp/* /tmp/* diff --git a/sid/root/.hold b/sid/root/.hold deleted file mode 100644 index e69de29..0000000