-
-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathnanoclaw-aio.xml
More file actions
75 lines (73 loc) · 8.77 KB
/
Copy pathnanoclaw-aio.xml
File metadata and controls
75 lines (73 loc) · 8.77 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
<?xml version="1.0"?>
<Container version="2">
<Name>nanoclaw-aio</Name>
<Repository>jsonbored/nanoclaw-aio:latest</Repository>
<Registry>https://hub.docker.com/r/jsonbored/nanoclaw-aio</Registry>
<Network>bridge</Network>
<MyIP/>
<Shell>sh</Shell>
<Privileged>false</Privileged>
<Support>https://github.com/JSONbored/nanoclaw-aio/issues</Support>
<Project>https://github.com/JSONbored/nanoclaw-aio</Project>
<Overview>NanoClaw is a Telegram-first AI agent orchestrator for running Claude-powered assistant workflows from chat.

[b]All-In-One Unraid Edition[/b]
`nanoclaw-aio` packages NanoClaw v2 into one Unraid-first container and uses the paired [code]jsonbored/nanoclaw-agent[/code] helper image for isolated agent work.

[b]Quick Install (Beginners)[/b]
1. Install this template and leave [code]Appdata Directory[/code] and [code]Host Appdata Path[/code] aligned unless you intentionally use a custom appdata path.
2. Set [code]TELEGRAM_BOT_TOKEN[/code] from BotFather.
3. Set [code]ANTHROPIC_API_KEY[/code] or one of the advanced Claude credential options.
4. Start the container and watch the logs for [code]PAIR_TELEGRAM_CODE[/code].
5. Send that pairing code to your Telegram bot to pair the main chat.

[b]Power Users (Advanced View)[/b]
- Advanced View exposes Claude credential aliases, OneCLI gateway settings, helper image overrides, concurrency/timeouts, logging, and assistant identity controls.
- Keep [code]CONTAINER_IMAGE[/code] and [code]CONTAINER_IMAGE_BASE[/code] on the JSONbored defaults unless you build and maintain your own compatible agent helper image.
- [code]NANOCLAW_HOST_APPDATA_DIR[/code] must match the host-side path for [code]/appdata[/code] because nested helper containers are launched through the host Docker daemon.

[b]Important Notes[/b]
- This template is marked beta while the NanoClaw v2 runtime gets more real-world Unraid soak time.
- The Docker socket mount is an advanced opt-in setting because NanoClaw launches paired helper containers through the host Docker daemon, which grants host-level Docker control. NanoClaw cannot run helper containers until that mount is enabled.
- Persistent databases, logs, groups, env files, and channel state live under [code]/appdata[/code].</Overview>
<Changes>### 2026-06-18
- Generated from CHANGELOG.md during release preparation. Do not edit manually.
- Run nanoclaw on shared aio-base
- Sync upstream commit keys</Changes>
<Category>AI Productivity Network:Messenger Tools:Utilities</Category>
<Icon>https://raw.githubusercontent.com/JSONbored/awesome-unraid/main/icons/nanoclaw.png</Icon>
<TemplateURL>https://raw.githubusercontent.com/JSONbored/awesome-unraid/main/nanoclaw-aio.xml</TemplateURL>
<Beta>True</Beta>
<ExtraSearchTerms>telegram, claude, agents, automation, scheduler, docker, assistant, nanoclaw</ExtraSearchTerms>
<Requires>NanoClaw requires a Telegram bot token and at least one Claude credential. Enable the advanced Docker socket mount for nested [code]jsonbored/nanoclaw-agent[/code] helper containers; this grants host-level Docker control.</Requires>
<ExtraParams/>
<PostArgs/>
<CPUset/>
<DateInstalled/>
<DonateText>Support JSONbored on GitHub Sponsors.</DonateText>
<DonateLink>https://github.com/sponsors/JSONbored</DonateLink>
<Description/>
<ReadMe>https://github.com/JSONbored/nanoclaw-aio#readme</ReadMe>
<Config Name="Appdata Directory" Target="/appdata" Default="/mnt/user/appdata/nanoclaw-aio" Mode="rw" Description="Persistent NanoClaw data: databases, logs, groups, channel state, env files, and host-visible runtime files for nested agent containers." Type="Path" Display="always" Required="true" Mask="false"/>
<Config Name="Docker Socket" Target="/var/run/docker.sock" Default="" Mode="rw" Description="Advanced opt-in security-sensitive mount. NanoClaw v2 needs the Docker socket to spawn nested jsonbored/nanoclaw-agent helper containers, which grants host-level Docker control access." Type="Path" Display="advanced" Required="false" Mask="false"></Config>
<Config Name="Telegram Bot Token" Target="TELEGRAM_BOT_TOKEN" Default="" Mode="" Description="Bot token from @BotFather. After startup, send the PAIR_TELEGRAM_CODE from the logs to this bot." Type="Variable" Display="always" Required="true" Mask="true"/>
<Config Name="Anthropic API Key" Target="ANTHROPIC_API_KEY" Default="" Mode="" Description="Claude API key. Use this or one of the advanced Claude credential options." Type="Variable" Display="always" Required="false" Mask="true"/>
<Config Name="Host Appdata Path" Target="NANOCLAW_HOST_APPDATA_DIR" Default="/mnt/user/appdata/nanoclaw-aio" Mode="" Description="Host-side path matching the Appdata Directory mount. Nested agent containers need this host path when the AIO talks to the host Docker daemon." Type="Variable" Display="always" Required="true" Mask="false"/>
<Config Name="Claude Code OAuth Token" Target="CLAUDE_CODE_OAUTH_TOKEN" Default="" Mode="" Description="Optional Claude Code OAuth-style credential. Use instead of ANTHROPIC_API_KEY when applicable." Type="Variable" Display="advanced" Required="false" Mask="true"/>
<Config Name="Anthropic Auth Token" Target="ANTHROPIC_AUTH_TOKEN" Default="" Mode="" Description="Optional Claude/Anthropic auth token for runtimes that expect ANTHROPIC_AUTH_TOKEN." Type="Variable" Display="advanced" Required="false" Mask="true"/>
<Config Name="Anthropic Base URL" Target="ANTHROPIC_BASE_URL" Default="" Mode="" Description="Optional Anthropic-compatible API endpoint override." Type="Variable" Display="advanced" Required="false" Mask="false"/>
<Config Name="OneCLI URL" Target="ONECLI_URL" Default="" Mode="" Description="Optional OneCLI gateway URL for NanoClaw agent credential injection." Type="Variable" Display="advanced" Required="false" Mask="false"/>
<Config Name="OneCLI API Key" Target="ONECLI_API_KEY" Default="" Mode="" Description="Optional OneCLI API key." Type="Variable" Display="advanced" Required="false" Mask="true"/>
<Config Name="Agent Image" Target="CONTAINER_IMAGE" Default="jsonbored/nanoclaw-agent:v2.0.64-agent.2" Mode="" Description="Helper image used for spawned agent containers. Advanced users may point this to a custom built agent image." Type="Variable" Display="advanced" Required="false" Mask="false"/>
<Config Name="Agent Image Base" Target="CONTAINER_IMAGE_BASE" Default="jsonbored/nanoclaw-agent" Mode="" Description="Base repository NanoClaw uses when building per-agent customized helper images." Type="Variable" Display="advanced" Required="false" Mask="false"/>
<Config Name="Container Timeout" Target="CONTAINER_TIMEOUT" Default="1800000" Mode="" Description="Agent container timeout in milliseconds." Type="Variable" Display="advanced" Required="false" Mask="false"/>
<Config Name="Idle Timeout" Target="IDLE_TIMEOUT" Default="1800000" Mode="" Description="Idle timeout in milliseconds for keeping agent containers warm after results." Type="Variable" Display="advanced" Required="false" Mask="false"/>
<Config Name="Max Output Size" Target="CONTAINER_MAX_OUTPUT_SIZE" Default="10485760" Mode="" Description="Maximum captured output from an agent container in bytes." Type="Variable" Display="advanced" Required="false" Mask="false"/>
<Config Name="Max Messages Per Prompt" Target="MAX_MESSAGES_PER_PROMPT" Default="10" Mode="" Description="Maximum message history items NanoClaw passes into a prompt." Type="Variable" Display="advanced" Required="false" Mask="false"/>
<Config Name="Max Concurrent Containers" Target="MAX_CONCURRENT_CONTAINERS" Default="5" Mode="" Description="Maximum number of concurrent NanoClaw agent containers." Type="Variable" Display="advanced" Required="false" Mask="false"/>
<Config Name="Log Level" Target="LOG_LEVEL" Default="info" Mode="" Description="NanoClaw log level." Type="Variable" Display="advanced" Required="false" Mask="false"/>
<Config Name="Assistant Name" Target="ASSISTANT_NAME" Default="nanoclaw" Mode="" Description="Assistant trigger name used by NanoClaw. Example trigger: @nanoclaw" Type="Variable" Display="advanced" Required="false" Mask="false"/>
<Config Name="Assistant Has Own Number" Target="ASSISTANT_HAS_OWN_NUMBER" Default="false" Mode="" Description="Set true only when your NanoClaw assistant has its own dedicated channel identity." Type="Variable" Display="advanced" Required="false" Mask="false"/>
<Config Name="Auto Pair Telegram" Target="NANOCLAW_AUTO_PAIR_TELEGRAM" Default="true" Mode="" Description="When true, the container starts the pairing-code watcher on first boot." Type="Variable" Display="advanced" Required="false" Mask="false"/>
<Config Name="Timezone" Target="TZ" Default="UTC" Mode="" Description="Timezone used by scheduled tasks and formatted timestamps." Type="Variable" Display="advanced" Required="false" Mask="false"/>
</Container>