Spaces:
Running
Running
| # 1. Definição da Senha (via Secrets do HF ou padrão) | |
| export PASSWORD=${PASSWORD:-"RustElite2024!"} | |
| echo "🚀 Iniciando ambiente Rust Cloud IDE..." | |
| # ============================================================================== | |
| # 2. 🪄 MÁGICA DE ARQUITETURA: FORÇAR A LOJA OFICIAL DA MICROSOFT | |
| # Isso resolve o "Erro 403" ao clicar em "Install" na interface do VS Code. | |
| # Fazemos o code-server ignorar a Open-VSX e usar os servidores da Azure. | |
| # ============================================================================== | |
| export EXTENSIONS_GALLERY='{"serviceUrl":"https://marketplace.visualstudio.com/_apis/public/gallery","cacheUrl":"https://vscode.blob.core.windows.net/gallery/index","itemUrl":"https://marketplace.visualstudio.com/items"}' | |
| # 3. Sideloading das Extensões Base (Bulletproof para não depender de rede no boot) | |
| mkdir -p /home/coder/workspace/.tmp_ext | |
| cd /home/coder/workspace/.tmp_ext | |
| echo "📦 Baixando extensões vitais offline..." | |
| curl -sL "https://github.com/rust-lang/rust-analyzer/releases/latest/download/rust-analyzer-linux-x64.vsix" -o rust.vsix | |
| curl -sL "https://open-vsx.org/api/tamasfe/even-better-toml/latest/download" -o toml.vsix | |
| curl -sL "https://open-vsx.org/api/serayuzgur/crates/latest/download" -o crates.vsix | |
| curl -sL "https://open-vsx.org/api/PKief/material-icon-theme/latest/download" -o icons.vsix | |
| echo "⚙️ Instalando extensões base do Rust..." | |
| code-server --install-extension rust.vsix || echo "⚠️ Falha menor no Rust" | |
| code-server --install-extension toml.vsix || echo "⚠️ Falha menor no Toml" | |
| code-server --install-extension crates.vsix || echo "⚠️ Falha menor no Crates" | |
| code-server --install-extension icons.vsix || echo "⚠️ Falha menor nos ícones" | |
| # Limpeza | |
| cd /home/coder/workspace | |
| rm -rf /home/coder/workspace/.tmp_ext | |
| echo "✅ Preparação concluída! A Loja Oficial da Microsoft está ATIVADA." | |
| echo "🔒 Iniciando Code Server (Porta 7860)..." | |
| # 4. Iniciar o servidor de forma compatível com Hugging Face | |
| exec code-server \ | |
| --bind-addr 0.0.0.0:7860 \ | |
| --auth password \ | |
| --disable-telemetry \ | |
| --app-name "Rust Elite IDE" \ | |
| /home/coder/workspace |