mirror of
https://github.com/tiennm99/composes.git
synced 2026-10-16 06:14:20 +00:00
feat: add openclaw and hermes agent templates
This commit is contained in:
1 parent
7616ff9f89
commit
8d4c3d14a4
7 files changed
+341
No files matched your search
@@ -0,0 +1,65 @@
|
||||
# openclaw
|
||||
|
||||
[OpenClaw](https://docs.openclaw.ai): a personal AI agent gateway with a web
|
||||
UI, chat-channel bots and browser automation. Runs Coolify's
|
||||
`coollabsio/openclaw` image, which wraps OpenClaw with nginx basic auth and
|
||||
env-driven configuration.
|
||||
|
||||
Two containers: `openclaw`, and `browser`, a Chromium the agent drives over
|
||||
the Chrome DevTools Protocol.
|
||||
|
||||
## Setup
|
||||
|
||||
1. Set `AUTH_PASSWORD`, `OPENCLAW_GATEWAY_TOKEN` and `OPENROUTER_API_KEY`.
|
||||
2. Map the domain to port `8080` and deploy.
|
||||
3. Open the domain and log in with `AUTH_USERNAME` / `AUTH_PASSWORD`.
|
||||
|
||||
Health check: `GET /healthz`, also the compose healthcheck.
|
||||
|
||||
## Environment
|
||||
|
||||
| Variable | Default | Purpose |
|
||||
| --- | --- | --- |
|
||||
| `AUTH_USERNAME` / `AUTH_PASSWORD` | `admin` / — | Basic-auth login in front of the web UI |
|
||||
| `OPENCLAW_GATEWAY_TOKEN` | — | Token the web UI and clients use to reach the gateway |
|
||||
| `OPENROUTER_API_KEY` | empty | Model provider |
|
||||
| `OPENCLAW_PRIMARY_MODEL` | optional | Default model |
|
||||
| Other provider keys, `AWS_*`, `OLLAMA_BASE_URL` | optional | Additional model providers |
|
||||
| `TELEGRAM_BOT_TOKEN`, `DISCORD_BOT_TOKEN`, `SLACK_*`, `WHATSAPP_ENABLED` | optional | Chat channels |
|
||||
| `OPENCLAW_ALLOWED_ORIGINS` | optional | Origins allowed to open the control UI |
|
||||
| `BROWSER_*`, `HOOKS_*`, `OPENCLAW_GATEWAY_BIND` | optional | Tuning, defaults shown in `compose.yml` |
|
||||
| `OPENCLAW_DOCKER_APT_PACKAGES` | optional | Extra apt packages installed at start |
|
||||
|
||||
`AUTH_PASSWORD` is required: without it nginx serves the UI with no login.
|
||||
The entrypoint itself refuses to start without `OPENCLAW_GATEWAY_TOKEN` or
|
||||
without at least one provider key.
|
||||
|
||||
OpenRouter stays active as the one provider every deployment needs; any
|
||||
other provider is enabled by uncommenting its line. Each provider key is read
|
||||
from the environment on every start, never stored in the config.
|
||||
|
||||
`PORT`, the gateway port, the state and workspace directories and
|
||||
`BROWSER_CDP_URL` are fixed in `compose.yml`, as properties of this layout.
|
||||
|
||||
`OPENCLAW_CONFIG_JSON` sets `gateway.trustedProxies` to `127.0.0.1`. The
|
||||
image's own nginx sits in front of the gateway on loopback, and current
|
||||
OpenClaw (tested on 2026.9.8) rejects every proxied request with 403
|
||||
`proxy_attribution_required` unless that proxy is trusted. The wrapper merges
|
||||
this JSON into `openclaw.json` on every start.
|
||||
|
||||
The wrapper adds the deployment's domain to the control UI's allowed origins
|
||||
from the `COOLIFY_URL` and `COOLIFY_FQDN` Coolify injects.
|
||||
`OPENCLAW_ALLOWED_ORIGINS` is for any other origin, and for a deployment
|
||||
Coolify does not inject that into.
|
||||
|
||||
## Storage
|
||||
|
||||
| Volume | Mount | Holds |
|
||||
| --- | --- | --- |
|
||||
| `openclaw-data` | `/data` | Config and sessions in `.openclaw`, the agent workspace in `workspace` |
|
||||
| `browser-data` | `/config` | Chromium profile: cookies and logins of sites the agent uses |
|
||||
|
||||
## Images
|
||||
|
||||
Both images use `latest`. `coollabsio/openclaw` publishes no major tag, only
|
||||
dated releases, so `latest` is the moving one.
|
||||
Reference in new issue
Block a user