O Kasm Workspaces transmite ambientes de trabalho e navegadores em contentores para o seu próprio navegador, para que possa abrir um Chrome descartável ou um ambiente de trabalho Linux completo a partir de qualquer lugar. Num VPS Linux Infrawire, a edição single server é a forma mais simples de o executar. Este guia tem como alvo o Ubuntu 24.04 (o Ubuntu 22.04 funciona da mesma maneira).
📋 Pré-requisitos
- Um VPS KVM novo com Ubuntu, acesso SSH como root e nenhum outro serviço à escuta na porta 443. Na sua área de cliente encontra o IP e a palavra-passe root do VPS.
- O Kasm recomenda pelo menos 2 núcleos de CPU, 4 GB de RAM e 50 GB de armazenamento SSD para a instalação base, e cada workspace em execução precisa de memória adicional. Preveja mais RAM se vários utilizadores se ligarem em simultâneo.
- Um domínio como
kasm.example.coma apontar paraVPS_IP, se quiser um certificado HTTPS de confiança.
🔄 1. Preparar o servidor
Bashssh root@VPS_IP apt update && apt -y upgrade && apt -y install curl
O Kasm instala o Docker por si, por isso não configure antes outro motor de contentores. Reinicie se tiver sido instalado um novo kernel.
⬇️ 2. Descarregar a versão mais recente
O número da versão muda com regularidade, por isso não o copie de um tutorial antigo. Abra a página oficial de downloads (https://kasmweb.com/downloads) ou o guia de instalação single server (https://kasmweb.com/docs/latest/install/single_server_install.html), copie a ligação do arquivo da versão atual para o instalador single server e use-a no lugar de RELEASE_URL abaixo.
Bashcd /tmp curl -O RELEASE_URL tar -xf kasm_release_*.tar.gz
O arquivo é extraído para um diretório kasm_release que contém o install.sh.
⚙️ 3. Instalar com swap suficiente
Os workspaces consomem muita memória, e o swap protege o servidor de encerramentos súbitos por falta de memória. O instalador pode criar um ficheiro de swap com a opção --swap-size (em MB):
Bashsudo bash /tmp/kasm_release/install.sh --swap-size 4096
Se a porta 443 já estiver ocupada, acrescente -L 8443 para servir a interface web na 8443. A instalação descarrega várias imagens Docker e demora 10 a 20 minutos. No fim, o script mostra as palavras-passe geradas para as contas predefinidas admin@kasm.local e user@kasm.local. Guarde-as de imediato: só são mostradas uma vez.
🌐 4. Abrir a consola web
Aceda a https://VPS_IP (ou https://VPS_IP:8443 se mudou a porta). Por agora, aceite o aviso do certificado autoassinado. Inicie sessão como admin@kasm.local para chegar à área de administração e altere as palavras-passe geradas no menu do utilizador.
Se usar uma firewall, permita a porta web:
Bashufw allow 22/tcp ufw allow 443/tcp ufw enable
Permita o SSH antes de ativar o UFW para não ficar trancado fora.
🔒 5. Adicionar um certificado Let's Encrypt
O Kasm serve o seu próprio certificado através de um proxy Nginx interno. Peça um certificado com o Certbot em modo standalone, que exige a porta 80 livre (o Kasm não a usa), e copie-o para onde o Kasm o espera:
Bashapt -y install certbot certbot certonly --standalone -d kasm.example.com cp /etc/letsencrypt/live/kasm.example.com/fullchain.pem /opt/kasm/current/certs/kasm_nginx.crt cp /etc/letsencrypt/live/kasm.example.com/privkey.pem /opt/kasm/current/certs/kasm_nginx.key /opt/kasm/bin/stop /opt/kasm/bin/start
Os certificados duram 90 dias, por isso repita a cópia e o reinício após cada renovação, por exemplo com um hook de implementação do Certbot em /etc/letsencrypt/renewal-hooks/deploy/.
🚀 6. Iniciar um navegador isolado
Inicie sessão como utilizador normal (user@kasm.local) e a página Workspaces lista as imagens disponíveis. Se a lista estiver vazia, entre como admin, abra Workspaces > Registry e instale as imagens que quiser, como Chrome, Firefox ou um ambiente de trabalho Ubuntu. Depois clique num workspace para o iniciar: um novo separador mostra um ambiente completo ou um navegador transmitido para si, com controlos de área de transferência e de transferência de ficheiros no painel lateral. Ao fechar a sessão, o contentor é destruído.
✅ 7. Verificar
Bashdocker ps --format '{{.Names}}: {{.Status}}' ss -tlnp | grep -E ':(443|8443)\b' free -h
Deve ver os contentores kasm_* em execução, a porta web à escuta e swap presente na saída de free -h.
🧰 Resolução de problemas
- O instalador pára com um erro de memória ou de disco: verifique
free -hedf -h. Adicione swap com--swap-size, liberte espaço em disco e execute o instalador de novo. - Um workspace fica no ecrã de carregamento: o servidor provavelmente tem pouca RAM ou a imagem não foi totalmente descarregada. Consulte
docker ps -ae os registos em/opt/kasm/current/log/, e feche outras sessões. - O navegador avisa sobre o certificado: os ficheiros em
/opt/kasm/current/certs/não foram substituídos ou os serviços não foram reiniciados. Repita o passo 5 e use o nome de domínio, não o IP, na barra de endereços. - Palavra-passe de admin perdida: reponha-a na área de administração com outra conta de administrador, ou reinstale num VPS limpo se não restar nenhum administrador.
🎉 O Kasm Workspaces está a funcionar: inicie navegadores e ambientes de trabalho a pedido, isolados em segurança do seu próprio computador.