MaluApps, by Kinetic Seas

How to install

Three kinds of application, three ways in. Every path ends in software signed by MaluOS or published from github.com/maludb.

Desktop applications on MaluOS Desktop

MaluOS Desktop pins MaluApps in the dock. It reads this site's catalogue and, once the desk is enrolled with an office, the office's own list on top. Click an app and it installs: a deb entry through apt with an administrator's authorisation, a web entry as a launcher that opens the office's URL in its own Firefox window.

From a terminal, the same thing:

maluctl office apps
maluctl office apps install malu123

Or plain apt. Every desktop package on this site is in the MaluOS repository:

sudo apt update && sudo apt install malu123

On Ubuntu 26.04 instead of MaluOS

Add the MaluOS repository and its signing key once with the bootstrap script, then use apt as above.

curl -fsSL https://apt.maluos.com/bootstrap/install-maluos.sh | sudo bash

Read the script before you run it. It installs maluos-archive (the deb822 source and the keyring) and nothing else.

Business applications on the MaluDB Business OS

A business application is a separate product with its own PostgreSQL database, PHP/HTMX user interface, MCP servers and expert agent. It declares itself in a maludb-os.json manifest and the kernel installs it. You need a kernel first: the maluos-business-os metapackage on a MaluOS Server, or the dockerized install on a MaluDB hosting VM.

  1. Clone the application where the kernel expects it, named by its catalog key (shown on each app's page).
    sudo git clone https://github.com/maludb/maludb-os-helpdesk /srv/apps/helpdesk
  2. Ask the installer for its plan. This is read-only.
    php /var/www/bin/app_install.php plan /srv/apps/helpdesk --by admin@example.com --domain example.com
  3. Apply it as root. The installer creates the database and roles, the Apache virtual host (helpdesk.example.com), the systemd services and the MCP servers, registers the application in the kernel's catalogue and hires its expert agent.
    sudo php /var/www/bin/app_install.php apply /srv/apps/helpdesk --by admin@example.com --domain example.com
  4. Grant access in the OS (Applications → the app → Access). People see it in their launcher; enrolled desks see it in MaluApps.

HR, Projects, Help Desk and Spaces are the four default applications; a fresh kernel adds all four with sudo bin/install_default_applications.sh --by <email> --domain <domain>.

Utilities

  • apt packages (the memory core, the API server, the gateway, the vault): sudo apt install <package> on MaluOS, or after the bootstrap script on Ubuntu 26.04.
  • Binary releases (the MaluDB Terminal): download the archive for your platform from the app's page, check the .sha256 beside it, unpack and put the binary on your PATH. macOS and Linux can use Homebrew: brew install maludb/tap/maludb.
  • Claude Code plugins: inside Claude Code, /plugin marketplace add maludb/<repository> then /plugin install <name>. Each app page gives the exact pair.
  • Source: a zip or tarball of the default branch, and the repository for git clone.

Verify what you download

Packages on apt.maluos.com and MaluOS release images are signed with the MaluOS archive signing key. apt checks the signature for you. For a file you fetch by hand:

MaluOS Archive Signing Key (2026) <apt@maluos.com>
Fingerprint: 6387 5A4A 5397 B902 E9C5  CFF8 731A DA39 4135 B9FF
curl -fsSL https://apt.maluos.com/bootstrap/maluos-archive-keyring.gpg -o maluos-archive-keyring.gpg
gpg --no-default-keyring --keyring ./maluos-archive-keyring.gpg --verify SHA256SUMS.gpg
sha256sum -c SHA256SUMS --ignore-missing

GitHub release archives carry a .sha256 file each: sha256sum -c maludb-0.3.0-x86_64-unknown-linux-gnu.tar.gz.sha256. Stop if anything differs.

For desks and scripts: the catalogue

Everything on this site is also at https://maluapps.com/catalog.json in the MaluOS MaluApps schema (schema: 1): an apps array of id, name, description, icon, kind (web, deb, script, release, source), a path, package or url, version and requires, plus category, homepage, repo, license and updated. A desk's maluctl office apps can read it in place of the default public catalogue; an office's own list overrides any entry with the same id.