Skip to content

Install in one line

Pick the line that matches your machine. The installer detects your OS, checks every prerequisite, generates all secrets, and brings the full stack up. No manual config.

Terminal window
curl -fsSL https://raw.githubusercontent.com/akashsebastian333/agentum/opensource/installation/install.sh | bash

Lupid is up

~3 minutes after running the one-liner

Admin email
admin@lupid.local
Admin password
<freshly generated, printed once, also in .env>

Both values are written to .env at the install directory (mode 0600). Back it up.

Open the URL, sign in with the printed credentials, you’re done.

  1. Detects your OS (Linux distro, macOS, or Windows) and the package manager available. If a prereq is missing it prints the exact distro-specific install command — you don’t have to memorise it.

  2. Verifies prereqs: docker daemon reachable, docker compose (v2 or legacy v1), git, openssl, and curl or wget.

  3. Clones the repo into ./lupid (or --dir <path>) with --depth 1.

  4. Generates secrets via openssl rand. Every credential is cryptographically random — there are no defaults baked into the image:

    • POSTGRES_PASSWORD
    • AGENTUM_ENCRYPTION_KEY_HEX (AES-256-GCM at rest)
    • AGENTUM_CAPABILITY_SECRET_HEX (HMAC for capability tokens)
    • AGENTUM_OPERATOR_SECRET_HEX (HMAC for operator-API auth)
    • NEXTAUTH_SECRET (dashboard cookie encryption)
    • AGENTUM_ADMIN_PASSWORD (the first admin user)
  5. Writes .env at mode 0600 (owner-read-only).

  6. docker compose up -d --build — builds the Rust + Next.js images, starts Postgres, Lupid, and the dashboard.

  7. Waits for the dashboard to respond on http://localhost:3000 (up to 240s).

  8. Prints the admin credentials to your terminal exactly once. They also live in <install-dir>/.env, so keep that file safe.

Terminal window
curl -fsSL https://raw.githubusercontent.com/akashsebastian333/agentum/opensource/installation/install.sh \
| bash -s -- --dir /opt/lupid --admin-email ops@yourco.com
FlagDefaultPurpose
--dir <path>./lupidInstall location
--admin-email <addr>admin@lupid.localFirst admin email
--branch <name>opensourceGit branch
--with-clickhouseoffAlso start the ClickHouse audit warehouse
--no-startoffClone + write .env, skip docker compose up
--resetoffWipe an existing install at --dir
--yesoffNon-interactive — skip the ClickHouse prompt
--wait <seconds>240Dashboard readiness timeout
--helpShow usage
ToolLinuxmacOSWindows
Docker 24+apt install docker.io (or dnf/pacman/apk)Docker DesktopDocker Desktop
Docker Compose v2shipped with Docker 24+shipped with Desktopshipped with Desktop
git, opensslusually preinstalledbrew install git opensslshipped with Git for Windows
curl or wgetusually preinstalledpreinstalledshipped with Git for Windows

The installer also runs three soft pre-checks: port :3000 already in use, disk space under 2 GB, Docker socket permission denied. Each one prints a one-line warning and the suggested fix.

Terminal window
cd lupid
docker compose logs -f # tail every service
docker compose ps # container health
docker compose down # stop the stack, keep data
docker compose down -v # stop AND wipe all named volumes

Reset the whole install with new secrets and a fresh DB:

Terminal window
curl -fsSL https://raw.githubusercontent.com/akashsebastian333/agentum/opensource/installation/install.sh \
| bash -s -- --reset