Skip to content

zivhm/Atoll-OS

Repository files navigation

Atoll OS

Atoll

Turn blank agents into ready-to-work helpers.

Landing page · Quick start · Docker Compose · Core concepts · Configuration

Live site Deploy License

Self-hosted Runtime Web API


🏝️ Why Atoll

Most agent tools hand you a blank slate and expect you to figure out the rest. For a freelancer or non-tech owner, that's a dead end. Most just don't have the time or the context to build from zero.

Atoll ships helpers that already know their job. Pick a role (accountant, support agent, social media manager, or define your own) and the helper comes pre-loaded with the right identity, goals, and behavior.

The underlying runtime is unchanged. We just give it a purpose before you ever open it.

Atoll focuses on the operating layer around the agent.

  • 🤖 Create helpers with reusable identities, role definitions, and skill/tool context
  • 📁 Share files directly with helpers
  • 🐳 Provision containered runtimes without hand-wiring every instance
  • 🔗 Place helpers in shared or dedicated workspaces
  • 💬 Configure Telegram and Discord channels from the same UI
  • 🛠 Operate helpers from the browser: chat, logs, health, repair, reconcile, event history
  • 🛡 Helpers runs in their own isolated Docker containers with dedicated volumes and networks

At A Glance

Capability Description
Quick helper setup Spin up a helper, assign a workspace, and provision a runtime in minutes
Identity catalog Manage reusable business identities and helper presets from the UI
Runtime operations Inspect health, logs, events, repair actions, and reconcile flows
Channel wiring Expose shared messaging settings in the UI and runtime-native advanced settings where semantics differ
Single-host Run locally during development or in Docker Compose for a self-hosted deployment

App Preview

Chat view

Helper setup Helper settings Identity catalog

🚀 Quick Start

Prerequisites

  • Node.js 20+ and npm
  • Docker Desktop or another reachable Docker engine

Steps

1. Copy the example environment file

cp .env.example .env

2. Set required variables in .env

ATOLL_SECRETS_KEY=<long-random-string>         # required
ATOLL_LLM_PROVIDER_API_KEY=<your-api-key>      # optional to set default

3. Install dependencies

npm install

4. Start the API and app together

npm run dev

5. Open in your browser

Open http://127.0.0.1:8450


🐳 Docker Compose

For a containerized single-host deployment:

cp .env.example .env          # set ATOLL_SECRETS_KEY inside
docker compose up --build

Open http://127.0.0.1:8450


🧩 Core Concepts

Workspaces

Atoll uses tenants as workspaces.

Type Description
default Individual helper workspace for quick setup
dedicated Shared workspace with reusable network and storage context

Helpers

A helper is the user-facing agent record: name, avatar, role title, preset, skills, and channel settings.

Runtimes

A runtime is the managed execution environment attached to a helper. Atoll provisions it through Docker, tracks its status, and exposes lifecycle actions through the API and UI.

Identities

Reusable identity presets live under src/business-identities and are editable in the /identities screen. These presets seed helper identity, soul, and tools documents.


⚙️ Configuration

All important configuration lives in the repo-root .env.

Variable Required Purpose
ATOLL_SECRETS_KEY Encryption key for stored secrets and sensitive runtime config
ATOLL_LLM_PROVIDER_API_KEY Default provider API key when a helper has none
PORT API port (default 8450)
HOST API bind host
RUNTIME_PROVIDER Default LLM provider for new helpers
RUNTIME_MODEL Default LLM model for new helpers
RUNTIME_HTTP_TIMEOUT_MS Runtime HTTP timeout in ms (default 3600000)
RUNTIME_OPENCLAW_IMAGE OpenClaw runtime image
RUNTIME_ZEROCLAW_IMAGE ZeroClaw runtime image
RUNTIME_HERMES_IMAGE Hermes runtime image
RUNTIME_GUI_SIDECAR_IMAGE GUI sidecar runtime image (required when gui.enabled is used)
RUNTIME_STARTUP_VALIDATION Prerequisite validation: strict, warn, or off
RUNTIME_ALLOW_PUBLIC_BIND Whether helper gateways bind to host loopback by default
RUNTIME_REQUIRE_PAIRING Whether pairing is required for supported runtimes
ATOLL_CORS_ALLOWED_ORIGINS Needed when the web app is on a different origin than the API

The Settings screen writes managed runtime defaults back to .env. Changes require an API restart to fully apply.

Runtime image sources:

  • RUNTIME_OPENCLAW_IMAGE: published image (default in .env.example: zivhm/openclaw).
  • RUNTIME_ZEROCLAW_IMAGE: published image (default in .env.example: zivhm/zeroclaw-runtime).
  • RUNTIME_HERMES_IMAGE: published image (default in .env.example: nousresearch/hermes-agent).
  • RUNTIME_GUI_SIDECAR_IMAGE: local image built from docker/runtime-gui-sidecar/Dockerfile (default tag in .env.example: atoll-gui-sidecar).

GUI sidecar runtime options (available on all runtime types):

  • gui.enabled: create and reconcile a GUI sidecar for the runtime container.

📡 API Surface

Route group Purpose
/api/healthz Health check
/api/auth/me Auth context
/api/settings/config Runtime defaults
/api/tenants Workspace management
/api/agents Helper CRUD
/api/agent-presets Preset catalog
/api/runtime/catalog Available runtime types
/api/runtime/provision-jobs Provision job tracking
/api/runtime/instances/* Lifecycle, chat, diagnostics
/api/runtime/events Event history
/api/runtime/model-catalog LLM model listing

📁 Project Structure

src/                      Fastify API, runtime orchestration, storage, identity presets
src/http/routes/          API route modules
src/business-identities/  Reusable helper identity presets
web/                      React/Vite control-plane frontend
landing/                  GitHub Pages landing site
scripts/                  Development helpers
tests/                    API/runtime-focused tests
Dockerfile                Production image build
docker-compose.yml        Single-host deployment
atoll-state.json          Local persisted state file

Runtime Notes

Setting Value
Supported runtimes OpenClaw, ZeroClaw, Hermes
Default runtime type openclaw
Default hosted provider openrouter
Default hosted model anthropic/claude-sonnet-4.6
Long-term direction Harness/Provider-agnostic runtime support

🌐 Landing Page

The public site is hosted on GitHub Pages, separate from the self-hosted control-plane app.


License

See LICENSE.

About

Atoll is a self-hosted managment plane for AI helpers with a reusable identity catalog, and runtime orchestration.

Topics

Resources

License

Stars

Watchers

Forks

Contributors

Languages