Costumas programar a partir de outro computador que não o teu próprio portátil, por exemplo, na casa de um cliente ou em viagem? E cada vez que o fazes, tens de configurar o editor, as extensões e o ambiente do zero, ou instalar as tuas próprias chaves SSH em equipamento alheio. O Code-Server resolve isto como um único contentor Docker na tua Box: o mesmo Visual Studio Code, as mesmas extensões e terminal integrado, disponíveis a partir de um endereço no navegador em qualquer dispositivo, e o código e o histórico de alterações permanecem num só local em vez de se espalharem por vários computadores. Neste guia, mostramos-te como configurar o Code-Server na Saplo.
O que é o Code-Server e para quem é adequado
Code-Server é a imagem oficial Docker codercom/code-server, ou seja, o Visual Studio Code reempacotado para funcionar num servidor e ser acedido através de um navegador em vez de uma aplicação de desktop. A interface, os atalhos de teclado, o marketplace de extensões e o terminal integrado são idênticos aos do VS Code normal. A única diferença é onde o processo do editor é executado fisicamente. É ideal para programadores que querem codificar a partir de qualquer dispositivo sem ter de configurar o ambiente de cada vez, para freelancers que ocasionalmente trabalham a partir do computador de outra pessoa e não querem deixar chaves ou código do cliente nele, e para equipas que procuram um ambiente de desenvolvimento comum e sempre ativo, em vez de um IDE na cloud pago.
Requisitos
Para instalares o Code-Server na Saplo, precisas de:
- Uma Box com o Docker ativado (o motor liga-o automaticamente na instalação a partir do catálogo, é necessário nesting no contentor, o que a Saplo tem por defeito),
- O editor, juntamente com os servidores de linguagem (LSP), é mais pesado do que uma aplicação web normal, por isso, realisticamente, deves contar com uma Box M por 65 € por ano,
- Um domínio ou subdomínio *.saploapp.pl incluído em qualquer plano, onde o editor será instalado,
- NÃO precisas de uma base de dados separada, o Code-Server armazena o projeto e as definições em dois volumes de dados separados.
Encontras uma descrição completa da aplicação e o seu lugar no catálogo na página do Code-Server na Saplo.
Instalação passo a passo
- No Painel Saplo, vai a Catálogo de aplicações e escolhe Code-Server.
- Indica um Box com RAM suficiente e o domínio ou subdomínio onde o editor ficará alojado.
- Confirma a instalação. O motor gera uma palavra-passe de login aleatória (apenas caracteres alfanuméricos, sem especiais que o docker-compose possa interpretar como substituição de variável), configura o contentor a partir da imagem
codercom/code-servercom dois volumes separados, um para o diretório de trabalho/home/coder/projecte outro para as configurações e extensões/home/coder/.local/share/code-server, e aguarda que o contentor esteja realmente operacional antes de considerar a instalação concluída. - O terminal e a edição ao vivo no navegador funcionam via WebSocket, e o nginx do Box suporta cabeçalhos de Upgrade para cada aplicação do catálogo, por isso não é preciso ativar nada adicionalmente.
- Os dados de login (apenas a palavra-passe, sem nome de utilizador) são guardados no ficheiro
CODE-SERVER-SETUP.txtno diretório da aplicação.
Primeira utilização
- Lê a palavra-passe do ficheiro
CODE-SERVER-SETUP.txtno catálogo de aplicações. - Acede ao endereço do domínio no teu navegador e inicia sessão com essa palavra-passe, o início de sessão no Code-Server não requer nome de utilizador.
- Trabalha no diretório
/home/coder/project, visível no editor como a pasta principal do projeto, onde podes carregar ficheiros através do terminal incorporado (git clone,scp,wget) ou através do gestor de ficheiros no Painel Saplo. - Instala extensões do marketplace da mesma forma que no VS Code para desktop, estas serão guardadas no volume de definições e sobreviverão a um reinício do contentor.
- O fecho do separador do navegador não encerra os processos no terminal. Tarefas longas (compilação, testes, servidor de desenvolvimento) continuarão a ser executadas na Box até ao próximo início de sessão.
Code-Server na Saplo vs. IDE na nuvem
| GitHub Codespaces / Gitpod | Code-Server na Saplo | |
|---|---|---|
| Modelo de faturação | pagamento por horas de utilização do ambiente, pacote mensal gratuito limitado | custo apenas do Box, sem contar as horas |
| Onde estão os dados do projeto | na infraestrutura do fornecedor | no teu Box |
| Disponibilidade da configuração | o ambiente precisa de ser retomado a partir de uma imagem em cada sessão | o contentor funciona constantemente, sem tempo de aquecimento |
| Extensões e configurações personalizadas | guardadas no perfil do fornecedor | no volume de dados do teu Box |
| Preço | depende do número de horas e da potência da máquina | a partir de 63 € por ano (Box M) |
Perguntas Frequentes
Preciso de indicar um nome de utilizador ao iniciar sessão?
Não, o Code-Server inicia sessão apenas com uma palavra-passe, sem nome de utilizador. A palavra-passe pode ser encontrada no ficheiro CODE-SERVER-SETUP.txt no diretório da aplicação.
É possível alterar a palavra-passe de início de sessão?
Sim, basta alterares a variável PASSWORD no ficheiro docker-compose.yml no diretório da aplicação e reiniciares o contentor a partir do painel.
Posso instalar as minhas próprias extensões e servidores de linguagem? Sim, o marketplace de extensões funciona exatamente como no VS Code para desktop, e as extensões instaladas são guardadas num volume de configurações separado, independente do diretório do projeto.
O terminal e a pré-visualização ao vivo requerem configuração adicional? Não, o WebSocket para o terminal e edição ao vivo funciona de imediato. O Nginx do Box já tem os cabeçalhos de Upgrade configurados para cada aplicação do catálogo.
O Code-Server requer uma base de dados separada? Não, o projeto e as configurações são guardados nos volumes de dados do contentor, sem a necessidade de uma base de dados MySQL ou PostgreSQL separada.
Num único Box, podes instalar outras ferramentas de equipa do catálogo, para além do Code-Server, sem custos adicionais por cada aplicação. As regras são descritas na página Alojamento de aplicações na Saplo.
Se atualmente pagas mensalmente por um IDE na cloud apenas para ter o VS Code disponível a partir de qualquer dispositivo, contacta-nos. Nós ajudamos-te a configurar o teu próprio Code-Server.
- #DevOps
- #Docker
- #Guia
