---
sidebar_position: 2
---

> ## Documentation Index
> Fetch the complete documentation index at: https://docs.lium.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Installation

This guide covers the installation and initial setup of the Lium CLI.

## Prerequisites

- **Operating system**: Linux or macOS (`amd64` or `arm64`). Windows users should run the binary install inside WSL, or use the Python package.
- **Network**: Internet connection for API access and binary download.
- **SSH client**: Required for pod access (`ssh`, `scp`, `rsync`).
- **Python**: Only required if you install via `pip` — version 3.9 or higher.

## Installation methods

### Binary install (recommended)

The fastest way to get a working `lium` command — no Python required. The installer downloads a precompiled binary for your platform, verifies its checksum, and adds it to your `PATH`:

```bash
curl -fsSL https://lium.io/install.sh | bash
```

Supported platforms: `darwin-amd64`, `darwin-arm64`, `linux-amd64`, `linux-arm64`.

The installer:

1. Downloads the latest release of `lium` from [GitHub releases](https://github.com/Datura-ai/lium/releases) into `~/.lium/versions/<version>/lium`.
2. Verifies the SHA-256 checksum against the published `checksums.txt`.
3. Creates a managed symlink at `~/.lium/bin/lium` pointing to the versioned binary.
4. Adds `~/.lium/bin` to `PATH` in your `~/.bashrc`, `~/.zshrc`, or `~/.config/fish/config.fish`.

After the install finishes, restart your shell (or `source` your rc file) so the updated `PATH` takes effect:

```bash
exec $SHELL -l   # or: source ~/.bashrc / ~/.zshrc
lium --version
```

#### Customizing the binary install

The installer respects a few environment variables for non-default setups:

| Variable | Purpose |
|----------|---------|
| `LIUM_INSTALL_DIR` | Override the symlink directory (default `~/.lium/bin`). |
| `LIUM_VERSION` | Pin a specific release (e.g. `LIUM_VERSION=0.0.7`). |

Example — pin a specific version:

```bash
curl -fsSL https://lium.io/install.sh | LIUM_VERSION=0.0.7 bash
```

#### Upgrading

Re-run the same command to upgrade to the latest release. The installer will download the newer versioned binary and re-point the `~/.lium/bin/lium` symlink at it; older versions remain under `~/.lium/versions/` until you remove them.

```bash
curl -fsSL https://lium.io/install.sh | bash
```

#### Uninstalling

```bash
rm -rf ~/.lium/bin ~/.lium/versions
# Optional: remove the PATH line the installer added to your shell rc
```

### Python package

Install the published package from PyPI when you also want the Python SDK alongside the CLI, or when you can't run a precompiled binary:

```bash
pip install lium.io
```

To upgrade:

```bash
pip install --upgrade lium.io
```

It's recommended to install into a virtual environment to avoid conflicts:

```bash
python -m venv lium-env
# Linux/macOS:
source lium-env/bin/activate
# Windows:
lium-env\Scripts\activate

pip install lium.io
```

### From source

For development or to track unreleased changes:

```bash
git clone https://github.com/Datura-ai/lium.git
cd lium
pip install -e .
```

## Initial configuration

### Running the setup wizard

After installation, run:

```bash
lium init
```

This interactive wizard helps you configure:

1. **API key** — your Lium platform API key.
2. **SSH keys** — generate a new pair or point at an existing one.
3. **Default settings** — preferences such as theme.

### Manual configuration

You can also edit `~/.lium/config.ini` directly:

```ini
[api]
api_key = your-api-key-here

[ssh]
key_path = /path/to/your/ssh/key
```

### Environment variables

All settings can be overridden via environment variables — useful for CI:

```bash

```

## Verification

```bash
lium --version    # confirm install
lium config show  # confirm config
lium ls           # list available nodes
```

## Getting your API key

1. Register at [lium.io](https://lium.io/register).
2. Open your account settings and find the API section.
3. Generate an API key.
4. Paste it when `lium init` prompts for it (or export `LIUM_API_KEY`).

## SSH key setup

### Generating new SSH keys

If you don't have SSH keys, the CLI can generate them — choose **Generate new SSH key pair** in `lium init`.

### Using existing keys

1. Locate your key pair (typically `~/.ssh/`).
2. During `lium init`, provide the path to your private key.
3. The CLI uploads the matching public key to Lium.

### Key permissions

```bash
chmod 600 ~/.ssh/id_ed25519
chmod 644 ~/.ssh/id_ed25519.pub
```

## Next steps

- [Quick Start Guide](./quickstart) — start using the CLI
- [CLI Reference](./reference/) — every command, grouped by category
