🌐 このページはまだ日本語に翻訳されていません。ポルトガル語(BR)の参照を表示しています。翻訳に協力する。
Instalador one-liner (Windows)
Versão Windows do install.sh — PowerShell em vez de Bash. Mesmas garantias de idempotência, preservação de config e auto-rollback.
Pré-requisitos
- Windows 10 22H2+ ou Windows 11 (qualquer build)
- Docker Desktop instalado e rodando (WSL2 backend recomendado)
- PowerShell 5.1+ (vem no Windows) ou PowerShell 7+ (recomendado)
- 4 GB RAM mínimo (8 GB+ recomendado), 20 GB de disco livre
Permissão de execução
Antes de rodar, PowerShell precisa permitir scripts. Abra um PowerShell como administrador e:
Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy RemoteSignedIsso permite scripts assinados remotos (install.ps1 é hospedado em https://roqueos.com.br/install.ps1 via Firebase Hosting com cert válido).
Comando padrão
PowerShell:
irm https://roqueos.com.br/install.ps1 | iex(irm = Invoke-RestMethod, iex = Invoke-Expression)
Equivalente "verboso" se preferir clareza:
Invoke-RestMethod -Uri https://roqueos.com.br/install.ps1 | Invoke-ExpressionEm ~3 min (Docker no Windows é mais lento que Linux nativo) você tem roqueos-server rodando em http://localhost:27021.
Flags
# Com RoqueClaw (IA agent)
& ([scriptblock]::Create((irm https://roqueos.com.br/install.ps1))) -WithRoqueClaw
# Com Cloud Gaming (Android)
& ([scriptblock]::Create((irm https://roqueos.com.br/install.ps1))) -WithAndroidGaming
# Update preservando config
& ([scriptblock]::Create((irm https://roqueos.com.br/install.ps1))) -Update
# Porta custom
& ([scriptblock]::Create((irm https://roqueos.com.br/install.ps1))) -Port 8080
# Sem prompts (CI)
& ([scriptblock]::Create((irm https://roqueos.com.br/install.ps1))) -Yes
# Com Cloudflare Tunnel pré-configurado (deixa o servidor acessível externamente
# sem abrir portas — útil pra demos, ambiente atrás de NAT, etc.)
& ([scriptblock]::Create((irm https://roqueos.com.br/install.ps1))) `
-CloudflareTunnelToken "eyJhIjoiAB..."Por que a sintaxe & ([scriptblock]::Create(...)) é diferente do bash -s --: PowerShell não tem bash -s -- ARGS equivalente direto. O pattern scriptblock + args é o jeito canônico de pipear irm com argumentos.
Alternativa pra quem prefere baixar primeiro + rodar local:
irm https://roqueos.com.br/install.ps1 -OutFile install.ps1
.\install.ps1 -WithRoqueClaw -Update
Remove-Item install.ps1 # opcionalFlags completas
| Flag | Equivalente bash | Descrição |
|---|---|---|
-WithRoqueClaw | --with-roqueclaw | RoqueClaw agente IA |
-WithAndroidGaming | --with-android-gaming | Cloud Gaming Android |
-Update | --update | Update preservando config |
-ForceImagePrune | --force-image-prune | Libera disco após update |
-Port <int> | --port | Porta do servidor |
-DataPath <string> | --data-path | Diretório de dados |
-Yes, -SkipPrompts | -y, --skip-prompts | Auto-confirma |
-CloudflareTunnelToken <string> | (não tem no bash) | Token tunnel pré-config |
-Help | --help | Ajuda |
A flag -CloudflareTunnelToken é específica do Windows installer porque a versão bash espera que você configure tunnel via UI depois (Server Admin → Cloudflare). O Windows é mais "first-boot wizard" e aceita pré-config.
O que preserva no update
Igual ao install.sh — mesmas invariantes:
- Secrets em
C:\ProgramData\roqueos\.roqueos-secrets.env - Banco SQLite, volumes Docker, arquivos dos usuários
- Cloudflare config, API keys, network storages
Auto-rollback
Mesma lógica do bash: smoke check em /health falha → restaura imagem :previous → recria container. Você nunca fica degradado.
Localização dos dados no Windows
| Recurso | Caminho default |
|---|---|
| Secrets file | C:\ProgramData\roqueos\.roqueos-secrets.env |
| Arquivos dos usuários | C:\ProgramData\roqueos\users\ |
| Shared (entre users) | C:\ProgramData\roqueos\shared\ |
| Banco SQLite | Volume Docker roqueos-db (gerenciado por Docker Desktop) |
| Cache de transcoding | Volume Docker roqueos-transcode-cache |
| Cloudflare config | C:\ProgramData\roqueos\cloudflared\ |
Mude com -DataPath D:\roqueos (move tudo pra outro drive).
Troubleshooting
| Sintoma | Solução |
|---|---|
Cannot run scripts on this system | Set-ExecutionPolicy -Scope CurrentUser RemoteSigned (rodar PowerShell como admin) |
Docker is not running | Abrir Docker Desktop e aguardar boot completo |
Hyper-V is not enabled | Painel de Controle → Programas → Recursos do Windows → habilitar Hyper-V + WSL2 |
| Update lento (~10 min) | Normal no Windows: Docker no WSL2 puxa images por bridge VM. Aguarde |
port 27021 already in use | netstat -ano | findstr 27021 mostra PID, tasklist /FI "PID eq <pid>" o processo |
| Status detalhado | Invoke-RestMethod http://localhost:27021/health | Format-List |
Logs em tempo real:
docker logs -f roqueos-serverPróximos passos
Idênticos ao install.sh: abrir http://localhost:27021/admin, criar API Key, login em https://roqueos.com.br/app, configurar via Add Server Wizard.
Referências
- Versão Linux/macOS — bash equivalente
- Volumes e backup — como Docker Desktop guarda volumes no Windows
- RoqueClaw setup — habilitar IA agent depois