| #!/bin/bash |
|
|
| |
| set -e |
|
|
| echo "🚀 Starting custom VSCode environment..." |
|
|
| |
| |
| |
| |
| if [ -d "/data" ]; then |
| echo "💾 Persistent storage detected provided at /data" |
| |
| |
| mkdir -p /data/User |
| mkdir -p /data/extensions |
| mkdir -p /data/workspace |
|
|
| |
| |
| mkdir -p /home/user/.local/share |
| rm -rf /home/user/.local/share/code-server |
| ln -s /data/extensions /home/user/.local/share/code-server |
|
|
| |
| mkdir -p /home/user/.config |
| rm -rf /home/user/.config/code-server |
| ln -s /data/User /home/user/.config/code-server |
| |
| |
| WORKING_DIR="/data/workspace" |
| else |
| echo "⚠️ No persistent storage found. Using ephemeral storage." |
| WORKING_DIR="/home/user" |
| fi |
|
|
| |
| |
| |
| |
| DB_PATH="$WORKING_DIR/user_data.sqlite" |
|
|
| if [ ! -f "$DB_PATH" ]; then |
| echo "📦 Initializing SQLite database at $DB_PATH..." |
| |
| sqlite3 "$DB_PATH" "CREATE TABLE IF NOT EXISTS system_logs (id INTEGER PRIMARY KEY, message TEXT, created_at DATETIME DEFAULT CURRENT_TIMESTAMP);" |
| sqlite3 "$DB_PATH" "INSERT INTO system_logs (message) VALUES ('System initialized');" |
| echo "✅ SQLite database created." |
| else |
| echo "📂 SQLite database found. Ready to use." |
| fi |
|
|
| |
| |
| |
| echo "💻 Launching VSCode Server on port 7860..." |
|
|
| |
| if [ -z "$PASSWORD" ]; then |
| export PASSWORD="123" |
| echo "⚠️ WARNING: No password set. Using default: 'changeme123'" |
| fi |
|
|
| |
| |
| |
| |
| exec code-server \ |
| --bind-addr 0.0.0.0:7860 \ |
| --auth password \ |
| --disable-telemetry \ |
| "$WORKING_DIR" |