A RatRig-focused Mainsail v2.18.2 fork with an operator-first dashboard, liquid-glass visual system, full stock-page viewability, safe thermal/output controls, object exclusion, live tuning, and printer-health integration.
Run this on the printer host as its normal Klipper user:
bash -c "$(curl -fsSL https://raw.githubusercontent.com/cluzl/ratrig3-forge-ui/77a11e2719f5f383805a358c550f4ba3b071cb4a/install.sh)"The installer:
- downloads the latest prebuilt release and verifies its SHA-256 checksum;
- backs up the existing
~/mainsaildirectory; - preserves printer-local
config.jsonandoe/assets; - atomically swaps the static UI;
- reloads nginx when passwordless sudo is available;
- never restarts Klipper or Moonraker.
If Mainsail lives elsewhere:
FORGE_UI_TARGET=/path/to/mainsail bash -c "$(curl -fsSL https://raw.githubusercontent.com/cluzl/ratrig3-forge-ui/77a11e2719f5f383805a358c550f4ba3b071cb4a/install.sh)"The installer prints the timestamped backup path. To roll back:
mv ~/mainsail ~/mainsail.failed && mv ~/mainsail.backup-YYYYMMDD-HHMMSS ~/mainsailThen reload nginx or refresh the page. Klipper and Moonraker do not need a restart.
npm ci
npm run lint
npm run test:unit
npm run buildBuilt static assets are written to dist/. GitHub releases contain a ready-to-install forge-ui.tar.gz, so target printers do not need Node.js.
- Mainsail base: v2.18.2
- Klipper + Moonraker
- Tested on RatRig V-Core 3
- Other Klipper printers are supported, but printer-specific macros and telemetry appear only when exposed by that printer.
GPL-3.0, inherited from Mainsail. This repository contains the complete corresponding source for its published build.