unraid-xml-generator
Generate Unraid DockerMan user template XML files from structured input. Use when: the user asks to "生成 Unraid XML 模板", "创建 Docker 模板", "为 XXX 写 Unraid 模板", or "生成 DockerMan XML" for any container. Key technique learned (2026-04-02): Unraid DockerMan templates support <ExtraParams>--entrypoint /bin/sh</ExtraParams> + <PostArgs> to bypass the container image's ENTRYPOINT. This allows overriding any image's startup command from the template. Config variables use: <Config Name="..." Target="ENV_VAR" Default="..." Type="..." Display="..." Required="..." Mask="..."> These become environment variables passed into the container. The skill generates a complete, valid XML and optionally deploys it to /boot/config/plugins/dockerMan/templates-user/my-<name>.xml (requires user confirmation before writing).
Install via CLI (Recommended)
clawhub install openclaw/skills/skills/ashanzzz/unraid-xml-generatorUnraid XML Generator
Core Pattern
The key insight for Unraid Docker templates:
<Container version="2">
<Name>mycontainer</Name>
<Repository>image:tag</Repository>
<Network>bridge</Network>
<!-- KEY: override ENTRYPOINT to /bin/sh -->
<ExtraParams>--entrypoint /bin/sh</ExtraParams>
<!-- KEY: pass real startup command through shell -ec -->
<PostArgs>-ec 'real startup command here'</PostArgs>
<!-- User-configurable variables -->
<Config Name="Display Name" Target="ENV_VAR" Default="..." Type="Variable" Display="always" Required="false" Mask="true">default_value</Config>
<Config Name="Port" Target="PORT" Default="8080" Mode="tcp" Type="Port" Display="always" Required="true">8080</Config>
<Config Name="Data Path" Target="/data" Default="/mnt/user/appdata/mycontainer" Mode="rw" Type="Path" Display="always" Required="true">/mnt/user/appdata/mycontainer</Config>
</Container>
Template Field Reference
| Field | Purpose |
|---|---|
<Name> | Unique container identifier |
<Repository> | Docker image with tag |
<Registry> | Registry URL (optional, informational) |
<Network> | Network mode: bridge, host, none |
<Shell> | Default shell (bash / sh) |
<ExtraParams> | Extra docker run flags (e.g. --entrypoint /bin/sh) |
<PostArgs> | Startup command passed to shell -ec |
<WebUI> | Format: http://[IP]:[PORT:nnnn]/ — shows button in Unraid UI |
<Icon> | URL to icon image |
<Category> | Unraid category string |
<Config> | User-configurable parameter |
Config Types
| Type | Example |
|---|---|
Variable | Environment variable (Target = env var name) |
Port | Port mapping (Mode="tcp"/"udp") |
Path | Volume path (Mode="rw"/"ro") |
Slider | Numeric slider (requires Min, Max, Step) |
Description | Read-only description text |
Config Display Options
| Display value | When shown |
|---|---|
always | Always visible in UI |
advanced | Hidden behind "Advanced" toggle |
hidden | Never shown (manual config) |
Masked Variables (secrets)
Set Mask="true" on Type="Variable" Config entries to:
- Hide the value from the UI (shown as
••••••) - Treat as sensitive (API keys, tokens, passwords)
PostArgs Shell Pattern
# Correct way to write PostArgs in XML:
<PostArgs>-ec 'export VAR1="value1" && export VAR2="value2" && exec real_command --flag arg'</PostArgs>
# Breaking down:
# -e : exit on error
# -c : read command from string (not stdin)
# '...' : single-quoted command string
Standard Config Variables to Include
For any container:
Metadata
Not sure this is the right skill?
Describe what you want to build — we'll match you to the best skill from 16,000+ options.
Find the right skillPaste this into your clawhub.json to enable this plugin.
{
"plugins": {
"official-ashanzzz-unraid-xml-generator": {
"enabled": true,
"auto_update": true
}
}
}Related Skills
Ashan Skill Creator
Skill by ashanzzz
sure-api
Use the we-promise/sure REST API with X-Api-Key auth. Covers accounts, transactions, categories, tags, merchants, imports, holdings, trades, valuations, chats, official docs URLs, self-update workflow from upstream OpenAPI, and ClawHub publish readiness.
vikunja-task-api
Install: clawhub install ashanzzz-vikunja-task-api Full Vikunja v2 API integration — projects, tasks, labels, teams, views, comments, attachments, bulk operations, and more.
Verified Research
Skill by ashanzzz
unraid-xml-generator
Generate Unraid DockerMan user template XML files from structured input. Use when: the user asks to "生成 Unraid XML 模板", "创建 Docker 模板", "为 XXX 写 Unraid 模板", or "生成 DockerMan XML" for any container. Key technique learned (2026-04-02): Unraid DockerMan templates support <ExtraParams>--entrypoint /bin/sh</ExtraParams> + <PostArgs> to bypass the container image's ENTRYPOINT. This allows overriding any image's startup command from the template. Config variables use: <Config Name="..." Target="ENV_VAR" Default="..." Type="..." Display="..." Required="..." Mask="..."> These become environment variables passed into the container. The skill generates a complete, valid XML and optionally deploys it to /boot/config/plugins/dockerMan/templates-user/my-<name>.xml (requires user confirmation before writing).