rikunarita commited on
Commit
5f1bc5c
·
verified ·
1 Parent(s): 5c3ba51

Create entrypoint.sh

Browse files
Files changed (1) hide show
  1. entrypoint.sh +73 -0
entrypoint.sh ADDED
@@ -0,0 +1,73 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ #!/bin/bash
2
+
3
+ # エラーが出たら止まるように設定
4
+ set -e
5
+
6
+ echo "🚀 Starting custom VSCode environment..."
7
+
8
+ # ---------------------------------------------------------
9
+ # 1. 永続ストレージ (/data) のセットアップ
10
+ # ---------------------------------------------------------
11
+ # /data フォルダが存在するか確認(Persistent Storageが有効なら存在する)
12
+ if [ -d "/data" ]; then
13
+ echo "💾 Persistent storage detected provided at /data"
14
+
15
+ # ユーザー設定や拡張機能を保存するフォルダを /data 内に作成
16
+ mkdir -p /data/User
17
+ mkdir -p /data/extensions
18
+ mkdir -p /data/workspace
19
+
20
+ # 本来の保存場所から /data へリンクを貼る(これでデータが永続化される!)
21
+ # .local/share/code-server は拡張機能など
22
+ mkdir -p /home/user/.local/share
23
+ rm -rf /home/user/.local/share/code-server
24
+ ln -s /data/extensions /home/user/.local/share/code-server
25
+
26
+ # .config/code-server は設定ファイルなど
27
+ mkdir -p /home/user/.config
28
+ rm -rf /home/user/.config/code-server
29
+ ln -s /data/User /home/user/.config/code-server
30
+
31
+ # ワークスペース(作業場)を /data/workspace に設定
32
+ WORKING_DIR="/data/workspace"
33
+ else
34
+ echo "⚠️ No persistent storage found. Using ephemeral storage."
35
+ WORKING_DIR="/home/user"
36
+ fi
37
+
38
+ # ---------------------------------------------------------
39
+ # 2. SQLite データベースの準備
40
+ # ---------------------------------------------------------
41
+ # ユーザーごとのデータを保存するためのSQLite DBをセットアップ
42
+ DB_PATH="$WORKING_DIR/user_data.sqlite"
43
+
44
+ if [ ! -f "$DB_PATH" ]; then
45
+ echo "📦 Initializing SQLite database at $DB_PATH..."
46
+ # 新規作成時にテーブルを作っておく(例としてusersテーブルを作成)
47
+ sqlite3 "$DB_PATH" "CREATE TABLE IF NOT EXISTS system_logs (id INTEGER PRIMARY KEY, message TEXT, created_at DATETIME DEFAULT CURRENT_TIMESTAMP);"
48
+ sqlite3 "$DB_PATH" "INSERT INTO system_logs (message) VALUES ('System initialized');"
49
+ echo "✅ SQLite database created."
50
+ else
51
+ echo "📂 SQLite database found. Ready to use."
52
+ fi
53
+
54
+ # ---------------------------------------------------------
55
+ # 3. code-server (VSCode) の起動
56
+ # ---------------------------------------------------------
57
+ echo "💻 Launching VSCode Server on port 7860..."
58
+
59
+ # PASSWORD環境変数が設定されていない場合のデフォルト(必ずSpaceのSettingsで設定してね!)
60
+ if [ -z "$PASSWORD" ]; then
61
+ export PASSWORD="changeme123"
62
+ echo "⚠️ WARNING: No password set. Using default: 'changeme123'"
63
+ fi
64
+
65
+ # VSCodeを起動
66
+ # --bind-addr: 外部からアクセスできるようにする
67
+ # --auth: パスワード認証を有効にする
68
+ # --user-data-dir: 設定ファイルの場所を指定(リンク済みだが念のため)
69
+ exec code-server \
70
+ --bind-addr 0.0.0.0:7860 \
71
+ --auth password \
72
+ --disable-telemetry \
73
+ "$WORKING_DIR"