openclaw/docker-compose.phala.yml
HashWarlock b357d7309a feat(docker): add channel auto-enable and user auto-approval
Enable automatic channel configuration when bot tokens are provided via
environment variables. Previously channels were auto-detected but not enabled
due to --skip-channels flag.

Changes:
- Remove --skip-channels from onboarding to enable channel auto-configuration
- Add TELEGRAM_ALLOWED_USERS and DISCORD_ALLOWED_USERS environment variables
- Auto-configure channel allowlists when user IDs are provided
- Channels are now fully operational on first boot without manual pairing

This allows users to pre-approve specific Telegram/Discord user IDs,
skipping the pairing code step entirely. Users can message the bot
immediately after deployment.
2026-01-26 19:36:56 -06:00

46 lines
1.6 KiB
YAML

# Clawdbot on Phala Cloud CVM
# Deploy with: docker compose -f docker-compose.phala.yml up -d
#
# Access the web UI at http://<cvm-ip>:18789
# Configure channels and API keys via /setup (password protected)
#
# If REDPILL_API_KEY is set, the container auto-configures Redpill
# as the default provider on first boot.
services:
clawdbot:
build:
context: .
dockerfile: Dockerfile
image: hashwarlock/clawdbot:redpill
environment:
HOME: /home/node
TERM: xterm-256color
# Redpill API key - auto-configures provider on first boot
REDPILL_API_KEY: ${REDPILL_API_KEY:-}
# Channel tokens - auto-configures channels on first boot
TELEGRAM_BOT_TOKEN: ${TELEGRAM_BOT_TOKEN:-}
DISCORD_BOT_TOKEN: ${DISCORD_BOT_TOKEN:-}
# Pre-approved user IDs (optional, comma-separated)
TELEGRAM_ALLOWED_USERS: ${TELEGRAM_ALLOWED_USERS:-}
DISCORD_ALLOWED_USERS: ${DISCORD_ALLOWED_USERS:-}
# Gateway configuration
GATEWAY_PORT: ${GATEWAY_PORT:-18789}
GATEWAY_AUTH: ${GATEWAY_AUTH:-off}
GATEWAY_TOKEN: ${GATEWAY_TOKEN:-}
GATEWAY_PASSWORD: ${GATEWAY_PASSWORD:-}
# Persistence paths inside container
CLAWDBOT_STATE_DIR: /data/.clawdbot
CLAWDBOT_WORKSPACE_DIR: /data/workspace
volumes:
# Persistent storage for credentials, agents, sessions
- clawdbot-data:/data
# Host network mode: container shares CVM's network stack
# Gateway binds to loopback, accessible via CVM's public IP
network_mode: host
restart: unless-stopped
entrypoint: ["/bin/bash", "/app/scripts/docker-entrypoint-phala.sh"]
volumes:
clawdbot-data: