Files
openclaw-proxy/entrypoint.sh
Joshua Adkisson 15de67f857
All checks were successful
Build and Push / build (push) Successful in 13s
Fix: use node user instead of openclaw
2026-04-02 10:47:02 -05:00

47 lines
1.2 KiB
Bash

#!/bin/bash
set -e
MODE="${1:-run}"
if [ "$MODE" = "auth" ]; then
echo "=== Claude Code Authentication ==="
echo "Run 'claude login' to authenticate with your Max subscription."
exec claude login
fi
if [ "$MODE" = "shell" ]; then
exec /bin/bash
fi
echo "Checking Claude Code authentication..."
if ! claude --version > /dev/null 2>&1; then
echo "ERROR: Claude Code CLI not working."
echo "Run: docker exec -it openclaw /usr/local/bin/entrypoint.sh auth"
exit 1
fi
if [ ! -f "$HOME/.claude/.credentials.json" ] && [ -z "$ANTHROPIC_API_KEY" ]; then
echo "ERROR: No Claude credentials found."
echo "Run: docker exec -it openclaw /usr/local/bin/entrypoint.sh auth"
exit 1
fi
echo "Claude Code CLI authenticated."
echo "Starting claude-max-api-proxy on :3456..."
node /opt/claude-max-api-proxy/dist/server/standalone.js &
for i in $(seq 1 30); do
if curl -sf http://127.0.0.1:3456/health > /dev/null 2>&1; then
echo "Proxy ready."
break
fi
[ $i -eq 30 ] && echo "ERROR: Proxy timeout." && exit 1
sleep 1
done
echo "Starting OpenClaw gateway on :18789..."
cd /opt/openclaw
exec node dist/index.js gateway \
--bind "${OPENCLAW_GATEWAY_BIND:-lan}" \
--port 18789