Decree commited on
Commit
70bb125
Β·
1 Parent(s): a3230a0

Remove entrypoint.sh - embedded in Dockerfile

Browse files
Files changed (1) hide show
  1. entrypoint.sh +0 -134
entrypoint.sh DELETED
@@ -1,134 +0,0 @@
1
- #!/bin/bash
2
- set -e
3
-
4
- echo "πŸš€ Starting Marimo Zero for Hugging Face Spaces..."
5
-
6
- # HF Spaces provides these env vars:
7
- # - HF_SPACE_ID (e.g., "username/space-name")
8
- # - HF_TOKEN (for API access)
9
- # - API_KEYS_JSON (single JSON secret with all provider keys)
10
-
11
- # Parse API_KEYS_JSON (same as VerdantClaw)
12
- if [ -n "$API_KEYS_JSON" ]; then
13
- echo "πŸ“ Parsing API keys from JSON..."
14
-
15
- # Extract individual keys
16
- export OPENAI_API_KEY=$(echo $API_KEYS_JSON | jq -r '.openai // empty')
17
- export ANTHROPIC_API_KEY=$(echo $API_KEYS_JSON | jq -r '.anthropic // empty')
18
- export NVIDIA_API_KEY=$(echo $API_KEYS_JSON | jq -r '.nvidia // empty')
19
- export GROQ_API_KEY=$(echo $API_KEYS_JSON | jq -r '.groq // empty')
20
- export GOOGLE_API_KEY=$(echo $API_KEYS_JSON | jq -r '.google // empty')
21
-
22
- # Support key rotation (openai_2, openai_3, etc.)
23
- for provider in openai anthropic nvidia groq google; do
24
- for i in $(seq 2 5); do
25
- val=$(echo $API_KEYS_JSON | jq -r ".${provider}_${i} // empty")
26
- if [ -n "$val" ] && [ "$val" != "null" ]; then
27
- envname=$(echo "${provider}_API_KEY_${i}" | tr '[:lower:]' '[:upper:]')
28
- export "$envname=$val"
29
- echo "βœ“ Loaded rotation key: $envname"
30
- fi
31
- done
32
- done
33
-
34
- echo "βœ“ API keys loaded from API_KEYS_JSON"
35
- else
36
- echo "⚠️ WARNING: API_KEYS_JSON not set!"
37
- fi
38
-
39
- # 1. Start OmniRoute (LLM Gateway)
40
- echo "πŸ“‘ Starting OmniRoute on port $OMNIROUTE_PORT..."
41
-
42
- # Build accounts.json from parsed env vars
43
- cat > /app/.omniroute/accounts.json << EOF
44
- {
45
- "accounts": [
46
- EOF
47
-
48
- first=true
49
- if [ -n "$OPENAI_API_KEY" ]; then
50
- cat >> /app/.omniroute/accounts.json << EOF
51
- {"name": "openai", "provider": "openai", "api_key": "$OPENAI_API_KEY", "default": true}
52
- EOF
53
- first=false
54
- fi
55
-
56
- if [ -n "$ANTHROPIC_API_KEY" ]; then
57
- if [ "$first" = false ]; then echo "," >> /app/.omniroute/accounts.json; fi
58
- cat >> /app/.omniroute/accounts.json << EOF
59
- {"name": "anthropic", "provider": "anthropic", "api_key": "$ANTHROPIC_API_KEY", "default": false}
60
- EOF
61
- first=false
62
- fi
63
-
64
- if [ -n "$NVIDIA_API_KEY" ]; then
65
- if [ "$first" = false ]; then echo "," >> /app/.omniroute/accounts.json; fi
66
- cat >> /app/.omniroute/accounts.json << EOF
67
- {"name": "nvidia", "provider": "nvidia", "api_key": "$NVIDIA_API_KEY", "default": false}
68
- EOF
69
- first=false
70
- fi
71
-
72
- if [ -n "$GROQ_API_KEY" ]; then
73
- if [ "$first" = false ]; then echo "," >> /app/.omniroute/accounts.json; fi
74
- cat >> /app/.omniroute/accounts.json << EOF
75
- {"name": "groq", "provider": "groq", "api_key": "$GROQ_API_KEY", "default": false}
76
- EOF
77
- first=false
78
- fi
79
-
80
- cat >> /app/.omniroute/accounts.json << EOF
81
- ]
82
- }
83
- EOF
84
-
85
- echo "βœ“ Generated accounts.json from API_KEYS_JSON"
86
-
87
- omniroute start --port $OMNIROUTE_PORT --accounts /app/.omniroute/accounts.json &
88
- OMNI_PID=$!
89
- sleep 3
90
-
91
- # 2. Start Agent Zero (Main Chat UI)
92
- echo "πŸ€– Starting Agent Zero on port 80..."
93
- zeroclaw gateway --host 127.0.0.1 --port 80 --config /app/.zeroclaw/config.toml &
94
- AZ_PID=$!
95
- sleep 5
96
-
97
- # 3. Start Marimo (Sandbox)
98
- echo "πŸ““ Starting Marimo on port $MARIMO_PORT..."
99
- marimo run /app/marimo_sandbox.py --host 127.0.0.1 --port $MARIMO_PORT --headless &
100
- MARIMO_PID=$!
101
- sleep 3
102
-
103
- # 4. Start Proxy Server (exposes everything on port 7860)
104
- echo "πŸ”€ Starting proxy server on port 7860 (HF Spaces public port)..."
105
- python3 /app/proxy_server.py &
106
- PROXY_PID=$!
107
- sleep 2
108
-
109
- echo ""
110
- echo "βœ… Marimo Zero Ready for Hugging Face Spaces!"
111
- echo " ─────────────────────────────────────"
112
- echo " Public URL: https://huggingface.co/spaces/$HF_SPACE_ID"
113
- echo " ─────────────────────────────────────"
114
- echo " Routes:"
115
- echo " / β†’ Main UI (Agent Zero + Marimo toggle)"
116
- echo " /chat/* β†’ Agent Zero API"
117
- echo " /sandbox/* β†’ Marimo Sandbox"
118
- echo " /api/* β†’ OmniRoute LLM API"
119
- echo " /health β†’ Healthcheck"
120
- echo " ─────────────────────────────────────"
121
- echo ""
122
- echo " Processes: OmniRoute($OMNI_PID) AgentZero($AZ_PID) Marimo($MARIMO_PID) Proxy($PROXY_PID)"
123
- echo ""
124
-
125
- # Monitor processes
126
- while true; do
127
- for pid in $OMNI_PID $AZ_PID $MARIMO_PID $PROXY_PID; do
128
- if ! kill -0 $pid 2>/dev/null; then
129
- echo "❌ Process $pid died, exiting..."
130
- exit 1
131
- fi
132
- done
133
- sleep 5
134
- done