kovinape commited on
Commit
96e75a1
Β·
verified Β·
1 Parent(s): 08e0270

Update entrypoint.sh

Browse files
Files changed (1) hide show
  1. entrypoint.sh +14 -38
entrypoint.sh CHANGED
@@ -1,11 +1,3 @@
1
- #!/bin/bash
2
- # ─────────────────────────────────────────────────────────────
3
- # entrypoint.sh
4
- # 1. Start Ollama server
5
- # 2. Wait for it to be ready
6
- # 3. Pull gpt-oss:20b
7
- # 4. Launch ttyd on :7860 wrapping Claude Code CLI
8
- # ─────────────────────────────────────────────────────────────
9
  set -e
10
 
11
  MODEL="gpt-oss:20b"
@@ -14,9 +6,7 @@ echo "════════════════════════
14
  echo " Starting Ollama server..."
15
  echo "════════════════════════════════════════"
16
  ollama serve &
17
- OLLAMA_PID=$!
18
 
19
- # ── Wait until Ollama HTTP API is responsive ─────────────────
20
  echo "Waiting for Ollama to initialise..."
21
  RETRIES=60
22
  until curl -sf http://localhost:11434/api/tags > /dev/null 2>&1; do
@@ -29,40 +19,26 @@ until curl -sf http://localhost:11434/api/tags > /dev/null 2>&1; do
29
  done
30
  echo "βœ“ Ollama is ready."
31
 
32
- # ── Pull model if not already cached ────────────────────────
33
- echo ""
34
- echo "════════════════════════════════════════"
35
- echo " Pulling model: $MODEL"
36
- echo " (first run downloads ~12 GB β€” be patient)"
37
- echo "════════════════════════════════════════"
38
  ollama pull "$MODEL"
39
  echo "βœ“ Model ready."
40
 
41
- # ── Keep Ollama alive in background ─────────────────────────
42
- # (already running as background job $OLLAMA_PID)
43
-
44
- # ── Launch web terminal on port 7860 ────────────────────────
 
 
45
  echo ""
46
- echo "════════════════════════════════════════"
47
- echo " Launching web terminal on port 7860"
48
- echo " Open your Space URL to access Claude CLI"
49
- echo "════════════════════════════════════════"
 
50
 
51
- # ttyd flags:
52
- # -p 7860 β†’ bind to HF Spaces exposed port
53
- # -W β†’ writable (allow keyboard input)
54
- # -t fontSize=15 β†’ comfortable size
55
- # --once β†’ REMOVE this flag if you want multiple sessions
56
- # The command run per-connection: claude --model gpt-oss:20b
57
  exec ttyd \
58
  -p 7860 \
59
  -W \
60
  -t fontSize=15 \
61
- -t theme={"background":"#0d1117","foreground":"#c9d1d9"} \
62
- /bin/bash -c "
63
- export ANTHROPIC_AUTH_TOKEN=ollama
64
- export ANTHROPIC_API_KEY=ollama
65
- export ANTHROPIC_BASE_URL=http://localhost:11434
66
- exec claude --model $MODEL
67
- "
68
-
 
 
 
 
 
 
 
 
 
1
  set -e
2
 
3
  MODEL="gpt-oss:20b"
 
6
  echo " Starting Ollama server..."
7
  echo "════════════════════════════════════════"
8
  ollama serve &
 
9
 
 
10
  echo "Waiting for Ollama to initialise..."
11
  RETRIES=60
12
  until curl -sf http://localhost:11434/api/tags > /dev/null 2>&1; do
 
19
  done
20
  echo "βœ“ Ollama is ready."
21
 
22
+ echo "Pulling model: $MODEL"
 
 
 
 
 
23
  ollama pull "$MODEL"
24
  echo "βœ“ Model ready."
25
 
26
+ # Write .bashrc so bash auto-launches claude on every ttyd connect
27
+ cat > /home/user/.bashrc << 'EOF'
28
+ export ANTHROPIC_AUTH_TOKEN=ollama
29
+ export ANTHROPIC_API_KEY=ollama
30
+ export ANTHROPIC_BASE_URL=http://localhost:11434
31
+ export PS1='[claude-space] $ '
32
  echo ""
33
+ echo " Claude Code CLI β€” model: gpt-oss:20b"
34
+ echo " Type 'claude --model gpt-oss:20b' to restart if it exits."
35
+ echo ""
36
+ claude --model gpt-oss:20b
37
+ EOF
38
 
39
+ echo "Launching web terminal on :7860..."
 
 
 
 
 
40
  exec ttyd \
41
  -p 7860 \
42
  -W \
43
  -t fontSize=15 \
44
+ /bin/bash --login