feat: add ZeroClaw template (v0.6.4)#757
feat: add ZeroClaw template (v0.6.4)#757theonlyhennygod wants to merge 1 commit intoDokploy:mainfrom
Conversation
built with Refined Cloudflare Pages Action⚡ Cloudflare Pages Deployment
|
| restart: unless-stopped | ||
| environment: | ||
| - API_KEY=${API_KEY} | ||
| - PROVIDER=${PROVIDER:-openrouter} |
There was a problem hiding this comment.
Redundant default value in compose env
${PROVIDER:-openrouter} carries a shell-style fallback in the Compose file, but template.toml already injects PROVIDER=openrouter unconditionally into the container environment. When deployed via Dokploy the two definitions will always agree, so the :-openrouter fallback is dead code. Consider simplifying to a plain PROVIDER=${PROVIDER} (or removing the line entirely from the Compose file and relying solely on template.toml) to avoid confusion for anyone reading the raw Compose.
| - PROVIDER=${PROVIDER:-openrouter} | |
| - PROVIDER=${PROVIDER} |
| [config] | ||
| env = [ | ||
| "API_KEY=${api_key}", | ||
| "PROVIDER=openrouter", |
There was a problem hiding this comment.
PROVIDER not exposed as a configurable variable
The PR description highlights that ZeroClaw supports OpenRouter, OpenAI, Anthropic, and Ollama, yet PROVIDER is hardcoded to openrouter rather than surfaced as a template variable. Users who want a different provider must manually edit the env after deployment.
Consider promoting it to a [variables] entry (e.g. provider = "openrouter") and referencing it as PROVIDER=${provider} in the env array. This is optional — the hardcoded default is fully functional — but it would improve the out-of-box experience for users who want Anthropic or Ollama.
Note: If this suggestion doesn't match your team's coding style, reply to this and let me know. I'll remember it for next time!
Summary
ghcr.io/zeroclaw-labs/zeroclaw:0.6.4(multi-arch: linux/amd64 + linux/arm64)What is ZeroClaw?
Open-source AI agent daemon. Connects to any LLM provider (OpenRouter, OpenAI, Anthropic, Ollama), exposes a web dashboard + REST/WebSocket API on port 42617. Features: persistent memory, multi-channel chat (Discord, Telegram, Matrix, Slack, WhatsApp, Nostr, Lark), scheduled tasks, autonomous tool use.
Checklist
ports,container_name, or custom networkslatest)dedupe-and-sort-meta.jsTesting
Files
blueprints/zeroclaw/docker-compose.ymlblueprints/zeroclaw/template.tomlblueprints/zeroclaw/zeroclaw.png(logo)meta.json(added entry)Greptile Summary
This PR adds a new ZeroClaw template (v0.6.4), a Rust-based autonomous AI assistant daemon that exposes a web dashboard and REST/WebSocket API on port 42617. The implementation is clean and follows all repository conventions.
version: "3.8", service name matches the folder (zeroclaw),restart: unless-stopped,exposeinstead ofports, nocontainer_nameor custom networks, and a named persistent volume.template.tomlgenerates a random 64-characterAPI_KEYand correctly maps the domain to port 42617.meta.jsonentry contains all required fields (id,name,version,description,logo,links,tags); the version0.6.4matches the Docker image tag exactly.strapientry frommeta.jsonis not a regression — the base branch contained a duplicatestrapientry, and thededupe-and-sort-meta.jsscript correctly removed the extra copy.${PROVIDER:-openrouter}default indocker-compose.ymlis redundant (template.toml already injects the value), andPROVIDERcould optionally be surfaced as a configurable template variable to make it easier for users to switch LLM providers at deploy time.Confidence Score: 5/5
Safe to merge — no functional or security issues; all template conventions are met.
The ZeroClaw template follows every hard requirement from AGENTS.md: correct Compose version, proper service naming, no forbidden directives, pinned image, no hardcoded secrets, and a valid meta.json entry. The only open items are two non-blocking P2 style suggestions. The Strapi removal is correct deduplication and not a regression.
No files require special attention.
Important Files Changed
Reviews (1): Last reviewed commit: "feat: add ZeroClaw template (v0.6.4)" | Re-trigger Greptile
(2/5) Greptile learns from your feedback when you react with thumbs up/down!
Context used: