feat: add Runtipi app configuration

This commit is contained in:
Claude 2026-01-24 18:33:08 +00:00
parent bcedeb4e1f
commit 242f7de4ac
No known key found for this signature in database
5 changed files with 297 additions and 0 deletions

93
runtipi/README.md Normal file
View File

@ -0,0 +1,93 @@
# Runtipi App Configuration
This directory contains the [Runtipi](https://runtipi.io) app configuration for Clawdbot.
## Directory Structure
```
runtipi/
└── clawdbot/
├── config.json # App metadata and form fields
├── docker-compose.json # Dynamic compose configuration
└── metadata/
├── description.md # App description for the store
└── logo.png # App logo (128x128)
```
## Using with Runtipi
### Option 1: Add to Custom App Store
1. Fork or create your own Runtipi app store repository
2. Copy the `clawdbot/` directory to your app store's `apps/` folder
3. Add your app store URL to Runtipi settings
### Option 2: Local Installation
1. Copy the `clawdbot/` directory to your Runtipi's `user-config/` folder
2. Restart Runtipi to detect the new app
## Prerequisites
Before installing Clawdbot on Runtipi, ensure you have:
1. **At least one AI provider API key**:
- Anthropic API key (for Claude models)
- OpenAI API key (for GPT models)
- Google Gemini API key
- OpenRouter API key (for multiple providers)
2. **A gateway token** for API authentication:
```bash
openssl rand -hex 32
```
3. **(Optional) Messaging channel tokens**:
- Telegram bot token from [@BotFather](https://t.me/BotFather)
- Discord bot token from the [Developer Portal](https://discord.com/developers/applications)
- Slack bot and app tokens
## Docker Image
This configuration uses the official Clawdbot Docker image from GitHub Container Registry:
```
ghcr.io/clawdbot/clawdbot:VERSION
```
To build and push your own image:
```bash
# From the clawdbot repository root
docker build -t ghcr.io/YOUR_ORG/clawdbot:latest .
docker push ghcr.io/YOUR_ORG/clawdbot:latest
```
Then update the image reference in `docker-compose.json`.
## Ports
| Port | Purpose |
|-------|-----------------------------------|
| 18789 | Gateway HTTP/WebSocket (main) |
## Volumes
| Container Path | Purpose |
|-----------------------|----------------------------|
| /home/node/.clawdbot | Configuration and sessions |
| /home/node/clawd | Agent workspace |
## Post-Installation
After installation:
1. Access the control UI at `http://YOUR_SERVER:18789`
2. Configure additional channels via the UI or by editing `config/clawdbot.json`
3. For WhatsApp: pair via QR code in the control UI
## Documentation
- [Getting Started](https://docs.clawd.bot/start/getting-started)
- [Docker Installation](https://docs.clawd.bot/install/docker)
- [Configuration](https://docs.clawd.bot/configuration)

View File

@ -0,0 +1,85 @@
{
"$schema": "../app-info-schema.json",
"name": "Clawdbot",
"port": 18789,
"available": true,
"exposable": true,
"id": "clawdbot",
"tipi_version": 1,
"version": "2026.1.24",
"categories": ["ai", "automation"],
"description": "Clawdbot is a self-hosted AI gateway that connects messaging platforms (WhatsApp, Telegram, Discord, Slack, Signal) to AI models (Claude, GPT, Gemini). It provides a unified interface for AI-powered conversations across all your messaging channels.",
"short_desc": "AI gateway for messaging platforms - connect WhatsApp, Telegram, Discord to Claude, GPT, and more.",
"author": "clawdbot",
"source": "https://github.com/clawdbot/clawdbot",
"website": "https://clawd.bot",
"form_fields": [
{
"type": "text",
"label": "Anthropic API Key",
"env_variable": "ANTHROPIC_API_KEY",
"hint": "Your Anthropic API key for Claude models (starts with sk-ant-)",
"required": false
},
{
"type": "text",
"label": "OpenAI API Key",
"env_variable": "OPENAI_API_KEY",
"hint": "Your OpenAI API key for GPT models (starts with sk-)",
"required": false
},
{
"type": "text",
"label": "Google Gemini API Key",
"env_variable": "GEMINI_API_KEY",
"hint": "Your Google AI API key for Gemini models",
"required": false
},
{
"type": "text",
"label": "OpenRouter API Key",
"env_variable": "OPENROUTER_API_KEY",
"hint": "Your OpenRouter API key for accessing multiple model providers",
"required": false
},
{
"type": "text",
"label": "Telegram Bot Token",
"env_variable": "TELEGRAM_BOT_TOKEN",
"hint": "Your Telegram bot token from @BotFather",
"required": false
},
{
"type": "text",
"label": "Discord Bot Token",
"env_variable": "DISCORD_BOT_TOKEN",
"hint": "Your Discord bot token from the Developer Portal",
"required": false
},
{
"type": "text",
"label": "Slack Bot Token",
"env_variable": "SLACK_BOT_TOKEN",
"hint": "Your Slack bot token (starts with xoxb-)",
"required": false
},
{
"type": "text",
"label": "Slack App Token",
"env_variable": "SLACK_APP_TOKEN",
"hint": "Your Slack app-level token for Socket Mode (starts with xapp-)",
"required": false
},
{
"type": "password",
"label": "Gateway Token",
"env_variable": "CLAWDBOT_GATEWAY_TOKEN",
"hint": "Authentication token for the gateway API. Generate with: openssl rand -hex 32",
"required": true,
"min": 32
}
],
"supported_architectures": ["arm64", "amd64"],
"dynamic_config": true,
"min_tipi_version": "4.5.0"
}

View File

@ -0,0 +1,79 @@
{
"$schema": "https://schemas.runtipi.io/v2/dynamic-compose.json",
"schemaVersion": 2,
"services": [
{
"name": "clawdbot",
"image": "ghcr.io/clawdbot/clawdbot:${APP_VERSION}",
"environment": [
{
"key": "HOME",
"value": "/home/node"
},
{
"key": "TERM",
"value": "xterm-256color"
},
{
"key": "NODE_ENV",
"value": "production"
},
{
"key": "ANTHROPIC_API_KEY",
"value": "${ANTHROPIC_API_KEY}"
},
{
"key": "OPENAI_API_KEY",
"value": "${OPENAI_API_KEY}"
},
{
"key": "GEMINI_API_KEY",
"value": "${GEMINI_API_KEY}"
},
{
"key": "OPENROUTER_API_KEY",
"value": "${OPENROUTER_API_KEY}"
},
{
"key": "TELEGRAM_BOT_TOKEN",
"value": "${TELEGRAM_BOT_TOKEN}"
},
{
"key": "DISCORD_BOT_TOKEN",
"value": "${DISCORD_BOT_TOKEN}"
},
{
"key": "SLACK_BOT_TOKEN",
"value": "${SLACK_BOT_TOKEN}"
},
{
"key": "SLACK_APP_TOKEN",
"value": "${SLACK_APP_TOKEN}"
},
{
"key": "CLAWDBOT_GATEWAY_TOKEN",
"value": "${CLAWDBOT_GATEWAY_TOKEN}"
}
],
"volumes": [
{
"hostPath": "${APP_DATA_DIR}/data/config",
"containerPath": "/home/node/.clawdbot"
},
{
"hostPath": "${APP_DATA_DIR}/data/workspace",
"containerPath": "/home/node/clawd"
}
],
"command": ["node", "dist/index.js", "gateway", "--bind", "lan", "--port", "18789"],
"internalPort": 18789,
"isMain": true,
"healthCheck": {
"test": "node dist/index.js health --token \"$CLAWDBOT_GATEWAY_TOKEN\" || exit 1",
"interval": "30s",
"timeout": "10s",
"retries": 3
}
}
]
}

View File

@ -0,0 +1,40 @@
# Clawdbot
**Clawdbot** is a personal AI assistant you run on your own devices. It answers you on the channels you already use (WhatsApp, Telegram, Slack, Discord, Signal, iMessage, Microsoft Teams, WebChat), plus extension channels like BlueBubbles, Matrix, Zalo, and Zalo Personal.
## Features
- **Multi-channel support**: Connect WhatsApp, Telegram, Discord, Slack, Signal, iMessage, Microsoft Teams, and more
- **Multiple AI providers**: Use Claude (Anthropic), GPT (OpenAI), Gemini (Google), or OpenRouter for access to many models
- **Self-hosted**: Your data stays on your infrastructure
- **Gateway architecture**: The gateway is the control plane for managing all your AI conversations
- **Canvas rendering**: Render live canvases you control
- **Voice support**: Speak and listen on macOS/iOS/Android
## Setup
1. Configure at least one AI provider API key (Anthropic, OpenAI, Gemini, or OpenRouter)
2. Generate a gateway token for API authentication: `openssl rand -hex 32`
3. Optionally configure messaging channel tokens (Telegram, Discord, Slack)
4. Access the control UI at `http://your-server:18789`
## Configuration
After installation, you can configure additional settings by editing files in the `config` data directory:
- `clawdbot.json` - Main configuration file (JSON5 format)
- `credentials/` - Channel credentials storage
## Documentation
- [Getting Started](https://docs.clawd.bot/start/getting-started)
- [Docker Installation](https://docs.clawd.bot/install/docker)
- [Configuration](https://docs.clawd.bot/configuration)
- [Channels Setup](https://docs.clawd.bot/channels)
## Links
- [Website](https://clawd.bot)
- [Documentation](https://docs.clawd.bot)
- [GitHub](https://github.com/clawdbot/clawdbot)
- [Discord Community](https://discord.gg/clawd)

Binary file not shown.

After

Width:  |  Height:  |  Size: 614 B