Skip to content

Repository files navigation

OpenClaw Manager

A self-hosted control plane for isolated, multi-user AI agent instances.

English | 简体中文

Important

OpenClaw Manager is an independent community project. It is not affiliated with or endorsed by the upstream OpenClaw project.

Overview

OpenClaw Manager provisions and operates isolated AI agent instances without modifying the upstream application. Its metadata model separates platform users, authentication identities, and instances, and allows one platform user to own multiple product instances while preserving compatibility with existing OpenClaw deployments.

OpenClaw, Hermes, and EvoScientist are supported managed products. Product adapters expose only the capabilities each runtime supports, while all runtime operations resolve a server-side instance record. See the Hermes adapter and EvoScientist adapter for product-specific contracts.

Highlights

  • Per-user isolation: independent containers, workspaces, configuration, and runtime state.
  • Separated identity model: platform users, login identities, and managed instances use independent IDs and relationships.
  • Configurable manager authentication: use Nginx Basic Auth, Local login, or a configured OAuth2/OIDC provider; mixed external and Local login is supported, and multiple identities may map to the same platform user.
  • Lifecycle management: create, start, stop, restart, upgrade, recycle, and restore instances.
  • Web administration: manage users, status, authentication, skills, and common operations.
  • Stable reverse proxying: product-aware HTTPS ingress through Nginx; OpenClaw path URLs and legacy per-instance ports coexist.
  • Layered access control: Nginx Basic Auth, application tokens, and device approval.
  • Recoverable deletion: deleted data is moved to a recycle directory.
  • Metadata visibility: SQLite-backed records with runtime consistency checks.
  • Usage effectiveness: read-only Activity snapshots with product data dictionaries and an administrator overview.
  • Extensible products: capability-aware adapters for additional agent runtimes.

Architecture

Users  -> Nginx -> manager-user-web  --+
Admins -> Nginx -> manager-admin-web --+-> manager-control -> manager-executor
                                       |                         |
                                       +-> manager-executor-api -+-> product adapters
                                                                 +-> Docker / Nginx / host data

OpenClaw path or per-instance HTTPS port -> Nginx -> per-tenant network -> OpenClaw / Hermes / EvoScientist

Metadata: manager.db + transitional users.csv / ports.txt
Runtime:  /data/docker/openclaw-public + /data/docker/nginx

The user and global admin portals run as unprivileged services. Structured actions pass through Control and Executor before an Adapter performs privileged runtime work. The legacy manager-web container has been retired; current Nginx templates route global and per-instance manager traffic to the split Web services. For the longer-term design, read Agent Hosting Platform Architecture.

Requirements

  • Ubuntu 22.04 LTS or Ubuntu 24.04 LTS
  • Docker Engine and the Docker Compose plugin
  • Bash and Python 3
  • apache2-utils, acl, setfacl, flock, and standard GNU utilities

Other Linux distributions may work but are not currently validated.

Quick Start

git clone https://github.com/yipwingtim/openclaw-manager.git /data/docker/openclaw-manager
cd /data/docker/openclaw-manager
cp config/openclaw-manager.env.example config/openclaw-manager.env
vim config/openclaw-manager.env

./scripts/check_bootstrap_readiness.sh
./scripts/bootstrap_runtime.sh

Bootstrap does not install Docker, issue TLS certificates, start services, or create production credentials. Read Fresh Environment Bootstrap before production use.

./scripts/create_user.sh <user_id>
sudo -E python3 scripts/check_metadata_consistency.py

Core Operations

./scripts/list_users.sh
./scripts/update_instance_version.sh <user_id> <version>
./scripts/delete_user.sh <user_id>
./scripts/restore_user.sh <user_id>

Most day-to-day actions are also available in the manager web interface. Product-specific actions appear only when the selected adapter supports them.

Runtime Layout

/data/docker/openclaw-public/
├── users/          # active instance data
├── deleted/        # recyclable instance data
├── manager.db      # structured metadata
├── users.csv       # transitional user records
├── ports.txt       # transitional port allocation state
└── logs/           # script logs

/data/docker/nginx/
├── compose/        # Nginx Compose project
├── conf/           # active and disabled user configs
├── certs/          # TLS certificate material
├── auth/           # Basic Auth data
└── logs/           # Nginx logs

Runtime paths are configurable in config/openclaw-manager.env and intentionally live outside the Git repository.

Documentation

Security

OpenClaw Manager coordinates privileged container and reverse-proxy operations. Review authentication, Docker socket access, filesystem permissions, and network boundaries before production deployment. Never commit production credentials, API keys, certificates, .htpasswd files, or runtime data.

Use Runtime Security Checks as the operational baseline.

Project Status

This project is under active development and is best suited to controlled self-hosted environments. Issues and focused pull requests are welcome; include the relevant action, container status, and sanitized logs when reporting a problem.

License

Licensed under the Apache License 2.0. Copyright 2026 yipwingtim and OpenClaw Manager contributors.

About

Self-hosted control plane for isolated, multi-user AI agent instances.

Topics

Resources

Contributing

Stars

3 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages