Add config file support for hook backend URL
Hooks now read backend URL from ~/.claude/monitor_url config file, making it easier to configure for remote/VM deployments without relying on environment variables. Priority order: 1. Config file (~/.claude/monitor_url) 2. Environment variable (CLAUDE_MONITOR_URL) 3. Default (http://localhost:8000) This fixes the issue where Claude Code doesn't see environment variables when not started from a configured shell. Usage: echo "http://your-vm:8000" > ~/.claude/monitor_url cp .claude/hooks/*.sh ~/.claude/hooks/ chmod +x ~/.claude/hooks/*.sh 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -8,7 +8,7 @@ These hooks capture Claude Code events and send them to the monitoring backend.
|
||||
|
||||
```bash
|
||||
# Copy hooks to Claude Code directory
|
||||
cp -r .claude/hooks/* ~/.claude/hooks/
|
||||
cp .claude/hooks/*.sh ~/.claude/hooks/
|
||||
|
||||
# Make hooks executable
|
||||
chmod +x ~/.claude/hooks/*.sh
|
||||
@@ -18,30 +18,54 @@ The hooks will automatically use `http://localhost:8000` as the backend URL.
|
||||
|
||||
### Remote/VM Installation
|
||||
|
||||
**Method 1: Config File (Recommended)**
|
||||
|
||||
Create a config file with your backend URL:
|
||||
|
||||
```bash
|
||||
# Set backend URL in config file
|
||||
echo "http://your-vm-ip:8000" > ~/.claude/monitor_url
|
||||
|
||||
# Or for specific domain
|
||||
echo "http://monitor.example.com:8000" > ~/.claude/monitor_url
|
||||
|
||||
# Copy and enable hooks
|
||||
cp .claude/hooks/*.sh ~/.claude/hooks/
|
||||
chmod +x ~/.claude/hooks/*.sh
|
||||
```
|
||||
|
||||
**Method 2: Environment Variable**
|
||||
|
||||
For remote installations, set the `CLAUDE_MONITOR_URL` environment variable:
|
||||
|
||||
```bash
|
||||
# Add to your shell profile (~/.bashrc, ~/.zshrc, etc.)
|
||||
export CLAUDE_MONITOR_URL="http://your-vm-ip:8000"
|
||||
|
||||
# Or for a specific domain
|
||||
export CLAUDE_MONITOR_URL="http://monitor.example.com:8000"
|
||||
# IMPORTANT: Restart terminal or run
|
||||
source ~/.bashrc
|
||||
|
||||
# Then copy and enable hooks
|
||||
cp -r .claude/hooks/* ~/.claude/hooks/
|
||||
cp .claude/hooks/*.sh ~/.claude/hooks/
|
||||
chmod +x ~/.claude/hooks/*.sh
|
||||
```
|
||||
|
||||
### Docker Deployment with Port 3000
|
||||
**Priority Order:**
|
||||
1. Config file (`~/.claude/monitor_url`) - highest priority
|
||||
2. Environment variable (`CLAUDE_MONITOR_URL`)
|
||||
3. Default (`http://localhost:8000`)
|
||||
|
||||
If you're running the monitor with Docker (frontend on port 3000), use:
|
||||
### Docker Deployment Examples
|
||||
|
||||
```bash
|
||||
# For VM with IP 192.168.1.100
|
||||
export CLAUDE_MONITOR_URL="http://192.168.1.100:8000"
|
||||
# Backend on port 8000
|
||||
echo "http://192.168.1.100:8000" > ~/.claude/monitor_url
|
||||
|
||||
# Or if backend is exposed via nginx on port 3000
|
||||
export CLAUDE_MONITOR_URL="http://192.168.1.100:3000"
|
||||
# Backend via nginx on port 3000
|
||||
echo "http://192.168.1.100:3000" > ~/.claude/monitor_url
|
||||
|
||||
# With domain
|
||||
echo "http://monitor.example.com:8000" > ~/.claude/monitor_url
|
||||
```
|
||||
|
||||
## Verification
|
||||
|
||||
Reference in New Issue
Block a user