OnixOS image build
Profile: server
Version: dev-698079aaac7d

Login information
- root (password is empty) (password hashes are never included)

Notes from README.md
# OnixOS Server Profile

The Server ISO is based on `profiles/core` and vendors its separate, server-only
installer under `airootfs/usr/share/onixos-server/installer`. During ISO
customization, it installs `onix-server-installer` and its backend into
`/usr/bin`. The general `onixos-cli-installer` package remains unchanged for
Core, Desktop, and other profile installs. The ISO boots directly to the
full-screen curses installer on tty1 in both BIOS and UEFI modes and does not
need that package to start. The wizard
asks for the target disk, server roles, hostname,
first username, and user/root passwords. After one final disk-erasure
confirmation, it automatically partitions, installs, configures, and enables
the selected services. Locale and timezone use configured defaults. OpenSSH
is enabled for remote administration; connect using the created user.

## Available roles

Server roles support multi-select. The wizard disables roles that conflict with
the current selection and names the role causing the conflict. Web server
choices that compete for HTTP ports cannot be combined. LAMP already includes
MariaDB, so it cannot be combined with the standalone MariaDB role. Uptime Kuma
installs Docker as a dependency. The Prometheus/Grafana stack conflicts with
Cockpit, Forgejo, and AdGuard Home because their default web ports overlap.
Kubernetes is exclusive because its cluster setup disables swap; choosing it
locks out every other server role.

- Docker Engine, with the daemon restricted to its local Unix socket.
- Nginx or Apache web server.
- Caddy web server.
- LAMP: Apache, MariaDB, and PHP.
- PostgreSQL.
- MySQL-compatible MariaDB.
- Redis-compatible Valkey.
- Cockpit on port 9090.
- Prometheus, Node Exporter, and Grafana monitoring stack, preconfigured to
  collect local system metrics.
- AdGuard Home DNS filtering server.
- Uptime Kuma on port 3001, deployed as a Docker container.
- Forgejo self-hosted Git server.
- Memcached cache server.
- Jellyfin media server.
- Podman container engine with its local API socket.
- Standalone Kubernetes (K8s) server using kubeadm, containerd, and Flannel.
- OLF Deployment Manager server as its own role; O Language is installed as its
  runtime dependency and the service listens on port 10000.
- Postfix and Dovecot mail services.

The installer initializes PostgreSQL and MariaDB data directories and enables
their systemd services. LAMP configures Apache's PHP module. Uptime Kuma uses
the upstream `louislam/uptime-kuma:1` container and creates its persistent
Docker volume on first start. Kubernetes disables swap during installation and
on every boot, then initializes its single-node cluster and applies Flannel on
first boot; the created user's kubeconfig is installed at `~/.kube/config`.

## Webmin and Virtualmin

The option is shown as manual only in the wizard. Virtualmin's automated
installer does not support Arch Linux; its documented support tiers list
Debian/Ubuntu and Enterprise Linux families, with manual installation on other
systems requiring expert service configuration. The installer therefore does
not run the upstream script on OnixOS. If automated support is added later,
Virtualmin conflicts with standalone web, database, mail, and OLFDM roles that
overlap its stack or use its web port. See the [Virtualmin OS support
matrix](https://www.virtualmin.com/docs/os-support/) and [manual installation
guide](https://www.virtualmin.com/docs/installation/manual/).

The database and web server package names follow Arch's official repositories:
Arch packages MariaDB as the MySQL-compatible server and Valkey as the
Redis-compatible server. Cockpit is available in the Extra repository.

## Build

Build this profile with the standard Archiso tools:

```sh
make build
```

The profile is x86_64 only. Its ISO boots on 64-bit BIOS and UEFI systems; the
same full-screen curses installer starts on tty1 in either mode. It creates a
GPT BIOS boot partition and GRUB on legacy systems, or an EFI system partition
and systemd-boot on UEFI systems.
