---
title: "Standalone installation"
description: "Run DrowAI Management and one Runner on the same Linux host."
section: "Setup"
updated: 2026-07-10
tags: ["installation","setup","docker","standalone"]
source: "/user-guide/standalone-installation"
---

# Standalone installation

Run DrowAI Management and one Runner on the same Linux host.

Standalone runs PostgreSQL, Management, and one Runner on the same Linux host.
Task execution still goes through the Runner; Management does not execute tools
directly.

## 1. Download DrowAI

```bash
git clone https://github.com/quareth/drowAI.git
cd drowAI
```

If you received the repository as an archive, extract it and open a terminal in
the extracted `drowAI` directory instead.

## 2. Start the stack

Run this command from the repository root:

```bash
docker compose --project-directory . \
  -f deploy/compose/standalone.yml \
  up -d --build
```

The first build can take several minutes. Docker creates the database volume,
generated configuration and secret volumes, Management services, and Runner.
The Runner waits until the setup wizard publishes its enrollment, then connects
automatically.

Check startup status:

```bash
docker compose --project-directory . \
  -f deploy/compose/standalone.yml \
  ps
```

## 3. Complete first-run setup

Open the following address in a browser, replacing `<server-address>` with the
Linux host name or IP address:

```text
http://<server-address>
```

For a browser on the same machine, use `http://localhost`. Standalone and
Distributed deployments both use HTTP port `80` by default.

On a fresh installation, DrowAI opens the setup wizard automatically. If the
wizard does not open, go to:

```text
http://<server-address>/setup
```

The wizard asks for:

- The database password DrowAI should use after bootstrap.
- The initial administrator username, email, and password.
- The display timezone.
- The name of the default Runner Site.

Configure an AI provider and model after signing in under **Settings -> API**.

## 4. Confirm Runner readiness

Open **Settings -> Runner Sites**. The default site should change to **Ready**
and show one connected Runner. It can take a few seconds after setup completes.

You can also inspect the Runner directly:

```bash
docker logs drowai-runner --tail=200
```

A working Runner logs its registration and connection state. Create a small
test task only after the Runner Site shows ready. Kali task containers will
appear on this same host because the Standalone Runner is local to Management.

## 5. Stop or update Standalone

Stop the services without deleting data:

```bash
docker compose --project-directory . \
  -f deploy/compose/standalone.yml \
  down
```

Update an existing checkout and rebuild it while preserving data:

```bash
git pull
docker compose --project-directory . \
  -f deploy/compose/standalone.yml \
  up -d --build
```

## Reset Standalone completely

This permanently deletes the DrowAI database, generated secrets, Runner
credentials, task workspaces, and setup state. Use it only when you deliberately
want a new first-run installation.

```bash
docker compose --project-directory . \
  -f deploy/compose/standalone.yml \
  down --volumes --remove-orphans
sudo rm -rf /var/lib/drowai
```

Start the stack again with the command from step 2. A broad
`docker system prune` is not required and may remove resources belonging to
other projects.
