abcd118q commited on
Commit
585219d
Β·
verified Β·
1 Parent(s): db803c1

Create start.sh

Browse files
Files changed (1) hide show
  1. start.sh +75 -0
start.sh ADDED
@@ -0,0 +1,75 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ #!/bin/bash
2
+ set -euo pipefail
3
+ LOG() { echo "[$(date '+%H:%M:%S')] $*"; }
4
+
5
+ if [ -d "/data" ]; then DATA_DIR="/data"
6
+ else DATA_DIR="/root/.local/codeserver-data"; LOG "⚠️ No /data bucket"; fi
7
+
8
+ WORKSPACE="${DATA_DIR}/workspace"
9
+ CS_USER_DATA="${DATA_DIR}/vscode-user-data"
10
+ CS_LOGS="${DATA_DIR}/logs"
11
+ CS_EXTENSIONS_DIR="/root/.local/share/code-server/extensions"
12
+
13
+ mkdir -p "$WORKSPACE" "$CS_USER_DATA/User" "$CS_LOGS"
14
+ mkdir -p /tmp/nginx-client-body /tmp/nginx-proxy
15
+
16
+ SETTINGS="$CS_USER_DATA/User/settings.json"
17
+ [ ! -f "$SETTINGS" ] && tee "$SETTINGS" > /dev/null << 'EOF'
18
+ {
19
+ "workbench.colorTheme": "Default Dark+",
20
+ "workbench.iconTheme": "vs-seti",
21
+ "editor.fontSize": 14, "editor.fontFamily": "monospace",
22
+ "editor.tabSize": 2, "editor.formatOnSave": true,
23
+ "editor.wordWrap": "on", "editor.minimap.enabled": true,
24
+ "editor.bracketPairColorization.enabled": true,
25
+ "terminal.integrated.fontSize": 13,
26
+ "terminal.integrated.scrollback": 5000,
27
+ "files.autoSave": "afterDelay", "files.autoSaveDelay": 1000,
28
+ "workbench.startupEditor": "none",
29
+ "git.autofetch": true, "extensions.autoUpdate": false,
30
+ "telemetry.telemetryLevel": "off", "update.mode": "none"
31
+ }
32
+ EOF
33
+
34
+ export PASSWORD="${PASSWORD:-codeserver123}"
35
+ mkdir -p /root/.config/code-server
36
+ cat > /root/.config/code-server/config.yaml << CONF
37
+ bind-addr: 0.0.0.0:8080
38
+ auth: password
39
+ password: ${PASSWORD}
40
+ cert: false
41
+ user-data-dir: ${CS_USER_DATA}
42
+ extensions-dir: ${CS_EXTENSIONS_DIR}
43
+ CONF
44
+
45
+ git config --global init.defaultBranch main
46
+ git config --global pull.rebase false
47
+ [ -n "${GIT_USER_NAME:-}" ] && git config --global user.name "$GIT_USER_NAME"
48
+ [ -n "${GIT_USER_EMAIL:-}" ] && git config --global user.email "$GIT_USER_EMAIL"
49
+ [ -n "${GITHUB_TOKEN:-}" ] && git config --global \
50
+ url."https://${GITHUB_TOKEN}@github.com/".insteadOf "https://github.com/"
51
+ [ -n "${HF_TOKEN:-}" ] && \
52
+ huggingface-cli login --token "$HF_TOKEN" --add-to-git-credential 2>/dev/null || true
53
+
54
+ LOG "πŸ’» Starting code-server..."
55
+ code-server --config /root/.config/code-server/config.yaml \
56
+ --disable-telemetry --disable-update-check "$WORKSPACE" \
57
+ >> "$CS_LOGS/code-server.log" 2>&1 &
58
+ sleep 2
59
+
60
+ LOG "🌐 Starting stealth browser server..."
61
+ cd /app && python3 browser_server.py \
62
+ >> "$CS_LOGS/browser.log" 2>&1 &
63
+ sleep 3
64
+
65
+ echo ""
66
+ echo "╔══════════════════════════════════════════════════════╗"
67
+ echo "β•‘ πŸš€ Ready β•‘"
68
+ echo "╠══════════════════════════════════════════════════════╣"
69
+ echo "β•‘ Editor : https://<space>.hf.space/ β•‘"
70
+ echo "β•‘ Browser : https://<space>.hf.space/browser/ β•‘"
71
+ echo "β•‘ Password: $PASSWORD"
72
+ echo "β•šβ•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•"
73
+
74
+ LOG "🌐 Starting nginx..."
75
+ exec nginx -g "daemon off;"