Skip to content

🌐 Esta página aún no está traducida al español. Mostrando referencia en portugués (BR). Ayúdanos a traducir.

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:

powershell
Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy RemoteSigned

Isso 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:

powershell
irm https://roqueos.com.br/install.ps1 | iex

(irm = Invoke-RestMethod, iex = Invoke-Expression)

Equivalente "verboso" se preferir clareza:

powershell
Invoke-RestMethod -Uri https://roqueos.com.br/install.ps1 | Invoke-Expression

Em ~3 min (Docker no Windows é mais lento que Linux nativo) você tem roqueos-server rodando em http://localhost:27021.

Flags

powershell
# 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:

powershell
irm https://roqueos.com.br/install.ps1 -OutFile install.ps1
.\install.ps1 -WithRoqueClaw -Update
Remove-Item install.ps1   # opcional

Flags completas

FlagEquivalente bashDescrição
-WithRoqueClaw--with-roqueclawRoqueClaw agente IA
-WithAndroidGaming--with-android-gamingCloud Gaming Android
-Update--updateUpdate preservando config
-ForceImagePrune--force-image-pruneLibera disco após update
-Port <int>--portPorta do servidor
-DataPath <string>--data-pathDiretório de dados
-Yes, -SkipPrompts-y, --skip-promptsAuto-confirma
-CloudflareTunnelToken <string>(não tem no bash)Token tunnel pré-config
-Help--helpAjuda

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

RecursoCaminho default
Secrets fileC:\ProgramData\roqueos\.roqueos-secrets.env
Arquivos dos usuáriosC:\ProgramData\roqueos\users\
Shared (entre users)C:\ProgramData\roqueos\shared\
Banco SQLiteVolume Docker roqueos-db (gerenciado por Docker Desktop)
Cache de transcodingVolume Docker roqueos-transcode-cache
Cloudflare configC:\ProgramData\roqueos\cloudflared\

Mude com -DataPath D:\roqueos (move tudo pra outro drive).

Troubleshooting

SintomaSolução
Cannot run scripts on this systemSet-ExecutionPolicy -Scope CurrentUser RemoteSigned (rodar PowerShell como admin)
Docker is not runningAbrir Docker Desktop e aguardar boot completo
Hyper-V is not enabledPainel 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 usenetstat -ano | findstr 27021 mostra PID, tasklist /FI "PID eq <pid>" o processo
Status detalhadoInvoke-RestMethod http://localhost:27021/health | Format-List

Logs em tempo real:

powershell
docker logs -f roqueos-server

Pró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