Skip to content

Commit c7ba4e5

Browse files
authored
Update code-server.sh
1 parent 3083303 commit c7ba4e5

1 file changed

Lines changed: 17 additions & 19 deletions

File tree

‎tools/code-server.sh‎

Lines changed: 17 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,14 @@
11
#!/usr/bin/env bash
22
set -e
33

4-
PASSWORD=$(openssl rand -base64 48 | tr -dc 'A-Za-z0-9' | head -c 32)
4+
PORT=39217
55

6-
# --- pick a random free port ---
7-
find_free_port() {
8-
while true; do
9-
PORT=$(shuf -i 20000-65000 -n 1)
10-
if ! ss -tuln | awk '{print $5}' | grep -q ":$PORT\$"; then
11-
echo "$PORT"
12-
return
13-
fi
14-
done
15-
}
16-
PORT=$(find_free_port)
6+
if systemctl is-active --quiet code-server@root 2>/dev/null; then
7+
systemctl stop code-server@root
8+
fi
9+
10+
PASSWORD=$(openssl rand -base64 48 | tr -dc 'A-Za-z0-9' | head -c 32)
1711

18-
# --- install only if not already installed ---
1912
if command -v code-server >/dev/null 2>&1; then
2013
echo "[+] code-server is already installed, skipping installation."
2114
else
@@ -31,7 +24,6 @@ password: $PASSWORD
3124
cert: false
3225
EOF
3326

34-
# --- set default theme to Dark 2026 ---
3527
mkdir -p /root/.local/share/code-server/User
3628
cat >/root/.local/share/code-server/User/settings.json <<EOF
3729
{
@@ -40,7 +32,17 @@ cat >/root/.local/share/code-server/User/settings.json <<EOF
4032
EOF
4133

4234
systemctl daemon-reload
43-
systemctl enable --now code-server@root
35+
systemctl enable code-server@root
36+
systemctl restart code-server@root
37+
38+
sleep 2
39+
40+
if ! ss -tuln | awk '{print $5}' | grep -q ":$PORT\$"; then
41+
echo "[!] code-server failed to start on port $PORT."
42+
echo "[!] Recent logs:"
43+
journalctl -u code-server@root -n 30 --no-pager
44+
exit 1
45+
fi
4446

4547
IP=$(hostname -I | awk '{print $1}')
4648
clear
@@ -83,7 +85,6 @@ confirm_stop() {
8385
}
8486

8587
trap confirm_stop SIGINT
86-
8788
start_logs
8889

8990
while [[ "$STOPPING" -eq 0 ]]; do
@@ -92,13 +93,10 @@ done
9293

9394
echo
9495
echo "[+] Stopping code-server (files will not be removed)..."
95-
9696
systemctl stop code-server@root 2>/dev/null || true
9797
systemctl disable code-server@root 2>/dev/null || true
98-
9998
pkill -f "code-server" 2>/dev/null || true
10099
sleep 1
101100
pkill -9 -f "code-server" 2>/dev/null || true
102-
103101
echo
104102
echo "Done. code-server has been fully stopped (installation and files remain intact)."

0 commit comments

Comments
 (0)