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

# Installation

> Get up and running with Larkup in seconds.

## CLI Install <Icon icon="terminal" />

Prefer the command line? Install the Larkup CLI in one command:

<Tabs>
  <Tab title="macOS / Linux" icon="terminal">
    ```bash theme={null}
    curl -fsSL https://www.larkup.de/install.sh | bash
    ```

    Then start Larkup:

    ```bash theme={null}
    larkup dev
    ```
  </Tab>

  <Tab title="Windows" icon="windows">
    ```powershell theme={null}
    iwr -useb https://www.larkup.de/install.ps1 | iex
    ```

    Then start Larkup in your terminal:

    ```powershell theme={null}
    larkup dev
    ```
  </Tab>
</Tabs>

The script handles dependencies like Node.js, configures your PATH, and sets the correct permissions. Just paste and go.

<Note>
  You may need to restart your terminal after installation for the `larkup` command to be available.
</Note>

## Local Code Execution

Agent data analysis uses the **Local Sandbox** by default. It runs trusted Python or JavaScript on your computer and does not require Docker or an account. Docker remains an optional, more isolated backend; remote sandbox providers are available for deployed agents. If Python is not installed, the Sandbox settings show the exact next step.

## Uninstall

To permanently remove the curl/npm installation and its Larkup database, tools, and local configuration, run:

```bash theme={null}
larkup remove
```

The command shows a warning and only continues after you enter `y` or `yes`. `larkup delete` is an alias. Open a new terminal afterwards; `larkup` will no longer be available.

## Installation Reliability

Installer CI runs from a clean Node.js 22 environment on every relevant change, daily, and immediately after npm publication. The check installs the package from npm, verifies the `larkup` command, starts the installed production server, and checks its HTTP health endpoint on native Linux, macOS Intel, macOS Apple Silicon, and Windows. Docker E2E tests remain part of the test suite for isolated Linux application coverage.

If an installation fails, run the installer with `--verbose` and include the npm output in a [GitHub issue](https://github.com/Larkup-AI/larkup/issues). Do not share API keys or other secrets from your environment.

## Verify It Worked

```bash theme={null}
larkup --version
```

If you see a version number, you're good. Head to the [Quickstart](/documentation/documentation/guide/quickstart) to build your first pipeline.

***

## Other Ways to Install

<Tabs>
  <Tab title="Docker" icon="docker">
    The Docker image runs the Larkup web app on Linux AMD64 and ARM64 hosts. Docker Desktop selects the right image automatically on macOS and Windows.

    ```bash theme={null}
    docker pull aboneda/larkup:latest
    docker run -d --name larkup -p 4567:4567 -p 8080-8090:8080-8090 -v larkup-data:/app/apps/web/.larkup aboneda/larkup:latest
    ```

    The `larkup-data` volume keeps your configuration, knowledge base, uploaded files, and Marketplace tool installs when the container is recreated.

    The single-container command includes the built-in web crawler, so website scraping works without Docker services or an API key. For sites that need browser rendering, you can optionally start the self-hosted Firecrawl stack from the repository:

    ```bash theme={null}
    git clone https://github.com/Larkup-AI/larkup.git
    cd larkup
    docker compose -f docker/docker-compose-prod.yaml --profile crawler up -d
    ```

    Alternatively, add a Firecrawl cloud API key in Settings.

    To stop and reopen:

    ```bash theme={null}
    # Stop the container
    docker stop larkup

    # Start it again
    docker start larkup && open http://localhost:4567
    ```
  </Tab>

  <Tab title="npm" icon="npm">
    If you already have Node.js installed:

    ```bash theme={null}
    npm install -g larkup
    ```

    Then start Larkup:

    ```bash theme={null}
    larkup dev
    ```
  </Tab>

  <Tab title="From source" icon="github">
    ```bash theme={null}
    git clone https://github.com/Larkup-AI/larkup
    cd larkup
    ./start.sh
    ```

    Builds and starts the app at `http://localhost:4567`.
  </Tab>
</Tabs>

## Isolated Install

If you prefer an installation that requires no root access and does not modify system files, use the isolated script. It installs its own Node.js and keeps everything under `~/.larkup`.

```bash theme={null}
curl -fsSL https://www.larkup.de/install-local.sh | bash
```

To uninstall the isolated installation and its data, run:

```bash theme={null}
larkup remove
```

## Custom Install

You can customize the main installation scripts using the following flags:

<Tabs>
  <Tab title="macOS / Linux" icon="terminal">
    Pass flags after `bash -s --`:

    ```bash theme={null}
    # Install a specific version
    curl -fsSL https://www.larkup.de/install.sh | bash -s -- --version 1.2.0

    # Skip prompts in CI
    curl -fsSL https://www.larkup.de/install.sh | bash -s -- --no-prompt

    # Install and verify without launching the app (useful in CI)
    curl -fsSL https://www.larkup.de/install.sh | bash -s -- --no-start

    # Preview without making changes
    curl -fsSL https://www.larkup.de/install.sh | bash -s -- --dry-run
    ```
  </Tab>

  <Tab title="Windows" icon="windows">
    Run the script file directly with flags:

    ```powershell theme={null}
    # Install a specific version
    .\install.ps1 -Version 1.2.0

    # Skip prompts in CI
    .\install.ps1 -NoPrompt

    # Preview without making changes
    .\install.ps1 -DryRun
    ```
  </Tab>
</Tabs>

***

## Keeping Up to Date

Larkup will notify you in the web UI when a new version is available. Look for the
update banner at the top of any page, then select **Copy command** and run the copied
command in your terminal.

<Tabs>
  <Tab title="Docker" icon="docker">
    Pull the latest image, then recreate the container while retaining its data volume:

    ```bash theme={null}
    docker pull aboneda/larkup:latest
    docker stop larkup
    docker rm larkup
    docker run -d --name larkup -p 4567:4567 -p 8080-8090:8080-8090 -v larkup-data:/app/apps/web/.larkup aboneda/larkup:latest
    ```

    <Warning>
      Images released before 0.1.76 stored generated-server data inside the container instead of the volume. To intentionally discard that old data and start clean, run `docker rm -f larkup` followed by `docker volume rm larkup-data` before starting the command above.
    </Warning>

    For **automatic updates**, add [Watchtower](https://containrrr.dev/watchtower/) to your `docker-compose.yml`:

    ```yaml theme={null}
    services:
      larkup:
        image: aboneda/larkup:latest
        ports:
          - "4567:4567"
          - "8080-8090:8080-8090"

      watchtower:
        image: containrrr/watchtower
        volumes:
          - /var/run/docker.sock:/var/run/docker.sock
        command: --interval 86400 larkup
    ```

    Watchtower checks for new images daily and updates automatically.
  </Tab>

  <Tab title="npm / CLI" icon="npm">
    Update the CLI to the latest version:

    ```bash theme={null}
    larkup update
    ```

    Or if you used the install script:

    ```bash theme={null}
    curl -fsSL https://www.larkup.de/install.sh | bash
    ```
  </Tab>
</Tabs>

***

## System Requirements

| Requirement      | Details                                   |
| ---------------- | ----------------------------------------- |
| **Node.js**      | v22+ (installed automatically if missing) |
| **OS**           | macOS, Linux, WSL, or Windows             |
| **Architecture** | x64 or ARM64                              |
