Skip to content

Install

Nouride is one binary that carries its own runtime. There is nothing to install alongside it. Pick your machine, run one command, and finish in the browser.

Linux and Raspberry Pi

Terminal window
curl -fsSL https://get.nouride.com/install.sh | sudo sh

That is the whole install. The script:

  1. Reads uname -m and your C library, and picks the matching build.
  2. Creates a nouride service account — the daemon refuses to run as root.
  3. Unpacks the binary, its dashboard, the built-in skills and the WhatsApp bridge into /srv/nouride.
  4. Writes a 0600 .env for credentials, and symlinks nouride onto your PATH.
  5. Generates a systemd unit through nouride service install, enables it, and starts it.
  6. Waits for the daemon to answer on /health, then prints where to go next.

The dashboard binds to loopback by default, so nothing is exposed to your network until you say so. The script prints an ssh -L line for reaching it. To serve it on the LAN instead:

Terminal window
curl -fsSL https://get.nouride.com/install.sh | sudo sh -s -- --host 0.0.0.0

Options

FlagDefaultWhat it does
--host ADDR127.0.0.1Address the dashboard binds to
--port PORT18254Dashboard port
--dir PATH/srv/nourideInstall directory
--user NAMEnourideService account to create and run as
--version TAGlatestRelease to download, e.g. v0.1.0
--base-url URLhttps://get.nouride.comWhere to download from
--repo OWNER/Nnouverse-tech/nourideDownload from GitHub releases instead
--tarball PATHInstall from a tarball already on the machine

Raspberry Pi and Orange Pi

Same command. Your OS must be 64-bit — check before you start:

Terminal window
uname -m # aarch64 → good. armv7l → 32-bit, not supported

There is no 32-bit ARM build, and the installer stops with unsupported architecture rather than downloading something that will not run. If you see armv7l, reinstall with a 64-bit image: Raspberry Pi OS (64-bit), Ubuntu Server arm64, or Armbian arm64. A Pi 3 or newer and any modern Orange Pi can run 64-bit; the 32-bit image is just still a common default.

Alpine and other musl systems

The installer detects musl and picks the -musl build. You also need one package the binary links and a bare Alpine does not ship:

Terminal window
apk add libstdc++

Without it the loader reports missing C++ symbols, which reads like a corrupt download rather than a missing package. The installer warns you if it cannot find it.


macOS

The Linux installer refuses to run here on purpose — macOS has no systemd and a different idea of where services live. Four commands instead of one.

  1. Download and unpack. Apple Silicon → darwin-arm64. Intel → darwin-x64.

    Terminal window
    mkdir -p ~/nouride && cd ~/nouride
    curl -fsSL https://get.nouride.com/latest/nouride-darwin-arm64.tar.gz | tar -xz
  2. Generate the launchd job. --user must be you; the daemon refuses to run as root.

    Terminal window
    ./nouride service install --user "$USER" --dir ~/nouride

    It writes the plist next to your install rather than straight into ~/Library/LaunchAgents — you get to read a job before your Mac starts running it.

  3. Install and start it. These are the commands the step above prints.

    Terminal window
    cp ~/nouride/tech.nouverse.nouride.plist ~/Library/LaunchAgents/
    launchctl load -w ~/Library/LaunchAgents/tech.nouverse.nouride.plist
  4. Watch it come up.

    Terminal window
    tail -f ~/nouride/.nouride/data/nouride.log

Put the CLI on your PATH if you want to run it from anywhere:

Terminal window
sudo ln -sf ~/nouride/nouride /usr/local/bin/nouride

Docker

Terminal window
mkdir -p ~/nouride && cd ~/nouride
docker run -d --name nouride --restart unless-stopped \
-p 18254:18254 \
-e HOST=0.0.0.0 \
-v "$PWD/nouride:/app/.nouride" \
ghcr.io/nouverse-tech/nouride:latest

HOST=0.0.0.0 is not optional in a container. Loopback is the right default for a daemon running natively on a host, but a container that binds loopback binds its own loopback and your published port reaches nothing.

The image is published as one manifest covering linux/amd64 and linux/arm64, so the server pulls its own architecture without being told which.


Downloading the binary yourself

Every release is a tarball holding the executable, its dashboard, the built-in skills, the WhatsApp bridge and an annotated config.example.toml.

PlatformArchitectureLibcDownload
Linuxx86_64glibcnouride-linux-x64.tar.gz
Linuxaarch64glibcnouride-linux-arm64.tar.gz
Linux (Alpine)x86_64muslnouride-linux-x64-musl.tar.gz
Linux (Alpine)aarch64muslnouride-linux-arm64-musl.tar.gz
macOSApple SiliconMach-Onouride-darwin-arm64.tar.gz
macOSIntelMach-Onouride-darwin-x64.tar.gz

Replace latest in the URL with a tag — https://get.nouride.com/v0.1.0/nouride-linux-x64.tar.gz — to pin a version.

Getting glibc versus musl wrong fails on the first run, with an error that reads like a corrupt download. Pick from uname -m plus ldd --version on the box, or let the installer do it.

If you already have a tarball on the machine, the installer will use it and skip the download entirely:

Terminal window
sudo sh install.sh --tarball /tmp/nouride-linux-x64.tar.gz

Next