Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/bidewio/better-openclaw/llms.txt

Use this file to discover all available pages before exploring further.

The add and remove commands allow you to modify an existing OpenClaw stack by adding or removing services.

add command

Add a service to an existing stack.

Usage

create-better-openclaw add <service-id> [options]

Arguments

service-id
string
required
The service ID to add (e.g., qdrant, prometheus, ollama).

Options

--dir
string
default:"."
Project directory containing the stack (default: current directory).
--force
boolean
default:"false"
Overwrite existing files if there are conflicts.
--json
boolean
default:"false"
Output results as JSON for programmatic use.

Examples

Add a vector database

cd my-stack
create-better-openclaw add qdrant
Output:
Adding qdrant to stack...

Added qdrant. Stack now has 4 services.

Add to a specific directory

create-better-openclaw add prometheus --dir ./production-stack

Add with automatic dependency resolution

create-better-openclaw add ollama
If the stack doesn’t have required dependencies (like Redis), they’ll be automatically added:
Adding ollama to stack...

Added ollama. Stack now has 5 services.

Note: Also added required dependencies:
  + redis (required by ollama)

Service already exists

create-better-openclaw add postgres
Output:
Service "postgres" is already in the stack.

JSON output

create-better-openclaw add grafana --json
Output:
{
  "added": "grafana",
  "serviceCount": 6,
  "estimatedMemoryMB": 3584
}

remove command

Remove a service from an existing stack.

Usage

create-better-openclaw remove <service-id> [options]

Arguments

service-id
string
required
The service ID to remove (e.g., qdrant, prometheus, ollama).

Options

--dir
string
default:"."
Project directory containing the stack (default: current directory).
--json
boolean
default:"false"
Output results as JSON for programmatic use.

Examples

Remove a service

cd my-stack
create-better-openclaw remove ollama
Output:
Removing ollama from stack...

Removed ollama. Stack now has 3 services.

Remove from a specific directory

create-better-openclaw remove grafana --dir ./production-stack

Service not in stack

create-better-openclaw remove elasticsearch
Output:
Service "elasticsearch" is not in the stack.

Cannot remove mandatory service

create-better-openclaw remove postgres
Output:
Cannot remove "postgres": it is mandatory.
Mandatory services are core dependencies required by other services and cannot be removed.

JSON output

create-better-openclaw remove prometheus --json
Output:
{
  "removed": "prometheus",
  "serviceCount": 4
}

Workflow examples

Incrementally build a stack

# Start with minimal preset
create-better-openclaw my-stack --preset minimal
cd my-stack

# Add vector search
create-better-openclaw add qdrant

# Add monitoring
create-better-openclaw add prometheus
create-better-openclaw add grafana

# Add local LLM
create-better-openclaw add ollama

# Start the stack
docker compose up -d

Optimize resource usage

# Remove resource-intensive services
create-better-openclaw remove elasticsearch
create-better-openclaw remove ollama

# Check remaining services
docker compose config --services

Swap services

# Replace Ollama with vLLM
create-better-openclaw remove ollama
create-better-openclaw add vllm

Prepare for production

# Add monitoring and proxy
create-better-openclaw add prometheus
create-better-openclaw add grafana
create-better-openclaw add caddy

Important notes

Stack file must exist

Both commands require an existing docker-compose.yml file in the target directory. If you don’t have a stack yet, use generate or init first:
create-better-openclaw generate my-stack --preset minimal
cd my-stack
create-better-openclaw add qdrant

Automatic dependency management

When adding services:
  • Required dependencies are automatically added
  • Duplicate services are detected and skipped
When removing services:
  • Mandatory services cannot be removed
  • No automatic cleanup of orphaned dependencies (manual review recommended)

Configuration preservation

The commands regenerate the entire docker-compose.yml and related files. Any manual modifications to generated files will be overwritten. To preserve custom configurations:
  1. Use environment variables in .env (not overwritten)
  2. Use Docker Compose override files (docker-compose.override.yml)
  3. Keep custom configs in separate directories

Restart required

After adding or removing services, restart the stack:
docker compose down
docker compose up -d