# KIAUH: A Menu-Driven Script to Install Klipper and Its Ecosystem on Raspberry Pi

> KIAUH (Klipper Installation And Update Helper) is a shell script that installs Klipper, Moonraker, Mainsail, Fluidd, and a set of community extensions on a Debian-based Linux system with a menu-driven interface. It is aimed at 3D printer enthusiasts who want to set up the Klipper firmware stack on a Raspberry Pi or similar single-board computer without configuring each component separately.

**dw-0/kiauh** — Klipper Installation And Update Helper

- Repository: https://github.com/dw-0/kiauh
- Stars: 4,545 · Forks: 643
- Language: Python
- License: GPL-3.0
- Published: 2026-09-23 · Updated: 2026-09-23 · Language: en
- Canonical page: https://hysenlabs.com/projects/dw-0-kiauh

## What KIAUH Does and Who It Is For

Klipper is a 3D printer firmware that runs on a Raspberry Pi and sends low-level motion commands to a microcontroller board on the printer. Setting up the full Klipper stack requires installing Klipper itself, then Moonraker (the API server that connects Klipper to web interfaces), then a web UI such as Mainsail or Fluidd, and optionally additional components. Installing each piece manually and making them work together is a multi-step process that involves Python environments, systemd services, and Nginx configuration.

KIAUH wraps that process in a numbered menu. The README describes KIAUH as 'a handy installation script that makes installing Klipper (and more) a breeze.' The target audience is 3D printer hobbyists who know they want Klipper but do not want to configure each component from scratch. It is not for developers who need a custom installation layout.

The README states the script has been primarily tested on Raspberry Pi OS Lite (Debian 10 Buster and Debian 11 Bullseye). It likely also works on Ubuntu 20 to 22, and it has been reported to work on Armbian, though the README notes this is not tested in detail. Distributions based on Debian 11 Bullseye are described as the configuration most likely to succeed.

## Prerequisites: What Must Be in Place Before Running KIAUH

KIAUH is not a bootstrapping tool. It requires a functional Linux system already running on the target machine. The README specifies that you must start with a Linux image flashed to your Raspberry Pi's SD card. Raspberry Pi OS Lite (32-bit or 64-bit) is the recommended image.

The README walks through using the official Raspberry Pi Imager to flash the image. The Advanced Options in the Imager (the cog icon) must be used to enable SSH and configure WiFi before writing the card. The README is explicit: failing to configure SSH before flashing means you will have no way to connect to the Pi over the network.

For other SBCs such as Orange Pi, the README directs users to find an appropriate Linux image for that board and use Balena Etcher to flash it. The KIAUH script itself needs to be run over an SSH session once the board is booted.

Once you have SSH access to the running system, the actual KIAUH installation takes three commands. Installing git first is required because KIAUH is distributed as a git repository:

## Downloading and Running KIAUH: Three Commands

After connecting to your Raspberry Pi via SSH, install git if it is not already present:

```shell
sudo apt-get update && sudo apt-get install git -y
```

Clone the KIAUH repository into your home directory:

```shell
cd ~ && git clone https://github.com/dw-0/kiauh.git
```

Launch the script:

```shell
./kiauh/kiauh.sh
```

The script presents a main menu with numbered options. You choose what to install by typing the corresponding number and pressing Enter. The README notes that some operations require your sudo password.

The default configuration file is at default.kiauh.cfg in the repository root. The script checks the docs/changelog.md file for important changes before each run; the README asks users to check this file for breaking changes between KIAUH versions.

## Core Components KIAUH Can Install

KIAUH installs five core components. Klipper is the 3D printer firmware, authored by KevinOConnor. Moonraker, authored by Arksine, is the API server that Klipper web interfaces use to communicate with the firmware. Mainsail is a web UI for Klipper, maintained by the mainsail-crew. Fluidd is an alternative web UI, maintained by the fluidd-core team. KlipperScreen is a touchscreen UI for Klipper, authored by alfrix, aimed at printers with an attached display.

Mainsail and Fluidd serve the same purpose: they provide a browser-based dashboard for monitoring and controlling the printer, uploading gcode files, and modifying the Klipper configuration. The choice between them is one of preference for UI design; both are installed and configured through the same KIAUH menu.

Each component is installed as a systemd service. KIAUH configures Nginx to proxy the web UIs so they are accessible from a browser on the same local network. These dependencies mean the script is specifically designed for Linux distributions that use systemd and include Nginx in their package repositories.

## Community Extensions: Nine Additional Components

Beyond the core components, KIAUH's menu also provides nine community extensions. OctoPrint is the older, established web interface for 3D printers, maintained by the OctoPrint team; it predates Klipper and is included for users who prefer its plugin ecosystem. Moonraker-Telegram-Bot by nlef lets you receive printer notifications and send commands via Telegram. PrettyGCode for Klipper by Kragrathea renders gcode toolpaths visually in the browser.

Obico for Klipper (previously The Spaghetti Detective) by the Obico team provides AI-based print failure detection and remote access. Mobileraker's Companion by Patrick Schmidt connects to the Mobileraker mobile app for iOS and Android monitoring. OctoEverywhere for Klipper by Quinn Damerell provides remote access to the printer over the internet. OctoApp for Klipper by Christian Wurthner connects to the OctoApp mobile application. Klipper-Backup by Staubgeborener automates backup of Klipper configuration to a Git repository. SimplyPrint for Klipper by the SimplyPrint team connects the printer to a managed print queue service.

Each of these is optional. KIAUH installs only what you choose from the menu.

## Limitations: Linux Only, No macOS or Windows, Sudo Required

KIAUH is a Linux-only tool. The README does not mention macOS or Windows support, and the script uses Linux-specific package managers (apt-get), systemd, and Nginx. Running it on macOS or Windows is not a supported use case.

The script requires sudo privileges for several installation steps. The README is explicit that you will be prompted for your sudo password. Users who need a locked-down or non-root setup cannot run KIAUH without modification.

KIAUH installs software but does not configure it for your specific printer. After installation, Klipper still requires a printer.cfg file that maps the firmware to your printer's hardware: stepper motor pins, bed dimensions, extruder configuration, and sensor pins. This configuration step is outside KIAUH's scope.

The README's compatibility note is specific: primarily tested on Raspberry Pi OS Lite, and distributions based on Debian 11 Bullseye are the most reliable. Distributions based on newer Debian releases are not explicitly tested. The README also advises reading the changelog before updating.

## Alternative: MainsailOS

MainsailOS is a pre-built Raspberry Pi OS image that includes Klipper, Moonraker, and Mainsail already installed and configured. The key difference from KIAUH is setup approach. MainsailOS is flashed directly to the SD card as a complete operating system image, so Klipper and its web stack are present on first boot without any installation steps.

KIAUH, by contrast, is installed on top of a base Raspberry Pi OS image. This means KIAUH gives you more control over the base operating system and allows you to install only the components you want from the menu. MainsailOS is faster to a working setup but is tied to whatever OS version the image was built on.

For users who want Fluidd instead of Mainsail, KIAUH is the more direct path; a FluidOS image exists but is a separate project. For users who want OctoPrint alongside Klipper, KIAUH provides that as a community extension, while MainsailOS does not include OctoPrint.

## Conclusion

KIAUH is the standard setup path for a Klipper-based 3D printer stack on a Raspberry Pi or compatible SBC. It handles the installation of Klipper, the Moonraker API server, and your choice of web UI (Mainsail or Fluidd) through a single interactive menu. It is not a configuration tool: after running KIAUH, you still need to configure Klipper for your specific printer hardware. The last push was on 2026-08-03. The license is GPL-3.0. Before starting, verify you have a functional Debian-based Linux image flashed to your SBC's SD card and SSH access configured.

## FAQ

### How do I install KIAUH on a Raspberry Pi?

First install git with sudo apt-get update && sudo apt-get install git -y, then clone the repository with cd ~ && git clone https://github.com/dw-0/kiauh.git, then run ./kiauh/kiauh.sh. You need a working Debian-based Linux image on the Pi before running these commands.

### What are the differences between MainsailOS and KIAUH?

MainsailOS is a complete Raspberry Pi OS image with Klipper, Moonraker, and Mainsail pre-installed, ready on first boot. KIAUH is a script you run on a base Raspberry Pi OS install to choose and install components from a menu. KIAUH gives you more control over what gets installed and supports Fluidd, OctoPrint, and community extensions that MainsailOS does not include.

### Is there an alternative to KIAUH for setting up Klipper?

MainsailOS is the most common alternative: it is a pre-built OS image that includes Klipper and Mainsail out of the box, without requiring a separate installation script. For users who want more control over which components are installed, KIAUH remains the standard interactive installation approach.

## Sources

- [dw-0/kiauh on GitHub](https://github.com/dw-0/kiauh)
- [Issues](https://github.com/dw-0/kiauh/issues)
- [License: GPL-3.0](https://github.com/dw-0/kiauh/blob/master/LICENSE)
- [README](https://github.com/dw-0/kiauh/blob/master/README.md)

---

Hysen Labs editorial analysis, written from the project's own repository and release notes. Cite the canonical page: https://hysenlabs.com/projects/dw-0-kiauh
