- openclaw: expose BRAVE_API_KEY env var for web search tool
- uptime-kuma: prefer username/password auth (API key token auth unreliable)
- uptime-kuma: add TCP monitor type support to manage_monitors.py
- Add Dockerfile using node:22-bookworm-slim + npm install -g openclaw@latest
- Update docker-compose.yml: use local build, add OLLAMA_API_KEY=ollama-local,
remove legacy OPENCLAW_AGENT_PROVIDER/MODEL/OLLAMA_BASE_URL env vars
- Add setup.sh to create openclaw.json with explicit Ollama provider config
Key fixes vs previous attempt:
- Config file is openclaw.json (not config.json or auth-profiles.json)
- models.providers.ollama needs baseUrl with /v1 suffix + explicit model list
- OLLAMA_API_KEY env var is required to opt in to Ollama support
- reasoning:false on models prevents 400 errors from Ollama
Add comprehensive troubleshooting documentation for OpenClaw auth issues:
- All configuration attempts with Ollama and Anthropic
- Error messages and findings
- Links to relevant GitHub issues and documentation
- Recommendations for future attempts
Issue: Gateway mode fails with 'No API key found' despite correct auth-profiles.json configuration with both Ollama and real Anthropic API key.
- SETUP.md: Complete deployment guide with WebSocket configuration
- portainer-setup.sh: Automated Portainer stack creation script
- fix-permissions.sh: Storage directory permission fixer
- .gitignore: Ensure .credentials file is not committed
Note: WebSocket support must be enabled in nginx-proxy-manager for OpenClaw to work.
- Switch to official ghcr.io/openclaw/openclaw:main image
- Remove port mappings in favor of nginx reverse proxy
- Add reverse proxy environment variables (VIRTUAL_HOST, etc.)
- Configure for Ollama integration instead of Anthropic API
- Add PUID/PGID for proper file permissions