← Docs
# Ambiente Nuvio ## Onboarding do desenvolvedor Servidor compartilhado `dev.nuvio.com.br` Painel · SSH · Workspaces · Preview
Este deck é também referência de onboarding — leia sozinho ou apresente.
--- ## Roteiro 1. Visão geral e os 3 endereços 2. Primeiro login no painel 3. Dispositivos confiáveis 4. Chave SSH — gerar e cadastrar 5. Conectando via SSH + VSCode 6. Workspaces — criar, importar, operar 7. Ciclo edit → build → preview 8. Boas práticas + FAQ 9. Cheatsheet --- ## 1. O que é o ambiente Nuvio - Servidor compartilhado Linux para todo o time - Código do dev fica em `/home/
/workspaces/
/` - Cada workspace roda em **containers Docker isolados** - Preview web em subdomínio único: `
-
.dev.nuvio.com.br` - DevOps gerencia a infra, **você não mexe em `/srv/`** --- ## Os 3 endereços | URL | Para quê | |---|---| | `painel.dev.nuvio.com.br` | Criar/operar workspaces, logs, conta | | `dev.nuvio.com.br` **porta 2200** | Acesso SSH — edição, terminal | | `
-
.dev.nuvio.com.br` | Preview do seu site rodando | ```text notebook ──SSH──▶ servidor dev.nuvio.com.br ├── /home/
/workspaces/ └── containers Docker (app/web/db) ``` --- ## 2. Primeiro login no painel 1. Abra `https://painel.dev.nuvio.com.br` 2. Digite seu **e-mail corporativo** 3. Receba código de 6 dígitos (válido 10 min, 3 tentativas) 4. Digite o código → painel abre > **Passwordless** — não existe senha. O e-mail é o canal de verificação. --- ## 3. Dispositivos confiáveis - Após login, marque **"Confiar neste dispositivo"** → 7 dias sem pedir código - Cookie HMAC, HttpOnly, só no seu browser - Revogar em **Minha conta → Dispositivos confiáveis** - Perdeu o notebook? Clique **"Revogar todos"** --- ## 4. Gerando sua chave SSH **Se você nunca gerou:** ```bash ssh-keygen -t ed25519 -C "seu-email@nuvio.com.br" ``` - Aceite o caminho padrão (`~/.ssh/id_ed25519`) - Passphrase: opcional mas recomendado **Resultado:** dois arquivos em `~/.ssh/`: - `id_ed25519` — privada (**nunca compartilhe**) - `id_ed25519.pub` — pública (essa você copia) --- ## Copiando a chave pública **Linux / macOS:** ```bash cat ~/.ssh/id_ed25519.pub ``` **Windows (PowerShell):** ```powershell type $HOME\.ssh\id_ed25519.pub ``` Copie a linha inteira — começa com `ssh-ed25519 AAAA…` e termina no seu e-mail. --- ## 5. Cadastrando a chave no painel 1. Painel → **Minha conta** → **Chaves SSH autorizadas** 2. Clique **Adicionar chave SSH** 3. Painel envia **código step-up** pro seu e-mail 4. Cole a chave pública + código → **Confirmar** > Pronto — chave gravada em `/home/
/.ssh/authorized_keys` no servidor. --- ## 6. Conectando via SSH ```bash ssh -p 2200 seu-login@dev.nuvio.com.br ``` ⚠️ **Porta 2200** (não a 22 padrão). Sem `-p 2200` a conexão trava. **Primeira conexão:** SSH pergunta se aceita a fingerprint → `yes`. **Prompt esperado:** ``` seu-login@dev:~$ ``` --- ## Atalho `~/.ssh/config` ```text Host nuvio HostName dev.nuvio.com.br Port 2200 User seu-login IdentityFile ~/.ssh/id_ed25519 ServerAliveInterval 60 ``` Depois é só: ```bash ssh nuvio ``` --- ## 7. VSCode Remote-SSH 1. Extensão oficial **Remote - SSH** (Microsoft) 2. `Ctrl+Shift+P` → **Remote-SSH: Connect to Host** 3. Escolhe `nuvio` (do seu config) ou **Add New SSH Host** → `ssh -p 2200 seu-login@dev.nuvio.com.br` 4. **File → Open Folder** → `/home/seu-login/workspaces/
` > Tudo que você edita grava **no servidor**. Terminal integrado já é shell remoto. --- ## 8. Criando um novo workspace Painel → **Meus workspaces** → **Novo workspace** 1. Escolhe template (**angular**, **laravel**, **nginx-static**) 2. Informa o **slug** — letras minúsculas, sem hífen (ex: `faturamento`, `paracuidar`) 3. Informa a **camada** — `web`, `api`, `admin` (painel junta: `paracuidar-web`) 4. Painel provisiona: `~/workspaces/
-
/` + `compose.yaml` + containers 5. URL de preview disponível em ~1 min --- ## 9. Importando workspace existente Painel → **Meus workspaces** → **Importar workspace**. Três modos: - **Upload** — `.tar.gz` do notebook - **Git** — clona de repo (cadastre credencial antes) - **Pasta local** — código já copiado via SCP Wizard inspeciona, valida, aplica fixes (baseHref, outputPath, `angular.json`), roda `npm install` / `composer install`. --- ## 10. Operando no dia a dia Painel → **Meus workspaces** → card do workspace: - **Subir / Parar / Restart / Rebuild** - **Logs** em tempo real (por container) - **Shell web** (sem SSH) - **Arquivos** (listagem rápida do `compose.yaml`, `.env`) - **Composer require** / **Migrate SQLite** (Laravel) --- ## 11. Rodando comandos nos containers **Via painel** (rápido): - Shell web no container → terminal no browser - Ações pré-definidas (Artisan, composer, nx, migrate) **Via SSH** (controle total): ```bash cd ~/workspaces/
docker compose exec build bash docker compose exec build npx nx serve ``` --- ## 12. Ciclo edit → build → preview 1. Edita no **VSCode Remote** (grava no servidor) 2. HMR do dev-server detecta mudança (`nx serve` / `vite` / `artisan serve`) 3. **Preview** em `https://
-
.dev.nuvio.com.br` atualiza sozinho 4. Build de produção? Painel → ação **Rebuild** no card ``` VSCode ──grava──▶ servidor ──HMR──▶ browser ``` --- ## 13. Boas práticas ✅ **Faça** - Commits no Git do próprio workspace - Containers: suba só quando estiver usando - Deixe DevOps saber de qualquer erro estranho de infra ❌ **Evite** - Mexer em `/srv/` (permission denied, por design) - Rodar comandos pesados no host — use os containers - Compartilhar chave SSH privada --- ## 14. Limites - **Portas externas**: só containers com `traefik.enable=true` - **Quota de workspace**: razoável — consulte DevOps se for precisar de muito disco - **Backup**: automático diário 03:00 (Manaus). Restore é manual, pede DevOps - **`/proc` isolado**: você só enxerga seus processos --- ## Dúvidas frequentes **SSH pede senha em vez de usar a chave** Cadastrou a pub certa? `ssh -v -p 2200 seu-login@dev.nuvio.com.br` **Site dá 404** Painel → Logs do nginx do workspace **Esqueci meu login Linux** Painel → Minha conta → Dados da conta **Não recebo o código por e-mail** Cheque spam; peça step-up de novo (expira em 10 min) --- ## Cheatsheet ```bash # SSH ssh -p 2200 seu-login@dev.nuvio.com.br # Workspace cd ~/workspaces/
docker compose up -d docker compose exec build bash # URLs https://painel.dev.nuvio.com.br # painel https://
-
.dev.nuvio.com.br # seu preview https://dev.nuvio.com.br # docs ``` --- ## Próximos passos 1. Gere sua chave SSH e cadastre no painel 2. Faça `ssh -p 2200 seu-login@dev.nuvio.com.br` — confirme acesso 3. Crie um workspace de teste (template nginx-static) 4. Abra o VSCode Remote no servidor 5. Leia o **Guia do Dev** completo em `dev.nuvio.com.br` **Dúvidas?** Canal do time ou DevOps. --- # Bem-vindo ao Nuvio 🚀 Bom código!