Executar code-server em VPS com Acesso Privado ao Navegador

Execute o code-server em VPS com um IDE de navegador privado, acesso via túnel SSH, projetos persistentes, fluxos de trabalho Git, extensões, backups e HTTPS seguro.

VoyraCloud
13 de agosto de 2026
19 min Tempo de leitura
Compartilhar:
browser IDE VPS
code-server SSH tunnel
code-server VPS
run code-server on VPS
self-host code-server
Executar code-server em VPS com Acesso Privado ao Navegador

Execute o code-server na infraestrutura VPS quando você quiser um ambiente de desenvolvimento persistente que esteja disponível a partir de um navegador, enquanto seus projetos, repositórios Git, configurações e extensões permanecem em um servidor Linux que você controla. A imagem do aplicativo code-server da VoyraCloud começa com a autenticação por senha habilitada e escuta apenas na interface de loopback do VPS. Você se conecta primeiro através de um túnel SSH em vez de expor um IDE Web capaz de terminal diretamente à internet pública.


TL;DR

  • A imagem VoyraCloud fornece code-server e Git no Ubuntu, enquanto runtimes de linguagem, dependências de projeto, extensões, domínios e backups permanecem sob gerenciamento do usuário.
  • O code-server escuta em 127.0.0.1:8080, então {server-ip}:8080 não é um endereço de aplicativo público.
  • Use o túnel SSH mostrado nos detalhes do recurso, abra http://127.0.0.1:8080 localmente e faça login com a senha única gerada para o seu VPS.
  • Não desative a autenticação. O code-server inclui um terminal, então um usuário não autorizado poderia executar comandos com as permissões do usuário do serviço.
  • Use um domínio, um proxy reverso capaz de WebSocket, HTTPS confiável e uma camada adicional de controle de acesso antes de publicar o IDE na internet.
  • O VPS em nuvem começa com o plano elegível de 2 vCPU, 2 GB de RAM e 40 GB de armazenamento. O VPS com IP residencial começa com 2 vCPU, 4 GB de RAM e 60 GB de armazenamento.
  • Um reinício preserva arquivos no armazenamento do VPS e reinicia o serviço, mas a persistência não é um backup. Mantenha cópias testadas fora do VPS.

O que é o code-server?

O code-server é um projeto de código aberto que executa um ambiente de desenvolvimento estilo VS Code em um navegador web. Ele fornece um editor de código, terminal integrado, fluxo de trabalho Git, suporte a extensões, configurações e acesso a arquivos armazenados na máquina remota.

Não é o Microsoft Visual Studio Code, GitHub Codespaces ou a plataforma multiusuário Coder. É um IDE de navegador auto-hospedado destinado a um usuário que controla o servidor subjacente. O navegador é apenas a interface: a execução de código, terminais, repositórios, ferramentas de construção e serviços de desenvolvimento são executados no VPS.

Essa arquitetura é útil quando você trabalha de vários computadores, precisa de um ambiente Linux sempre disponível ou não quer que arquivos e ferramentas de projeto estejam vinculados a uma única estação de trabalho. Isso também muda a fronteira de segurança. Qualquer um que entrar no IDE pode potencialmente abrir um terminal, inspecionar arquivos de projeto e executar comandos como o usuário do serviço code-server. A proteção de acesso é, portanto, parte da implantação, não uma configuração estética opcional.

Os requisitos oficiais do code-server recomendam pelo menos dois núcleos de CPU e 1 GB de RAM e requerem suporte a WebSocket. As necessidades reais do projeto podem ser maiores quando você instala compiladores, servidores de linguagem, contêineres, bancos de dados ou ferramentas de construção que consomem muita memória.


O que a imagem VoyraCloud inclui?

A imagem do aplicativo prepara um serviço code-server privado e Git, mas não transforma o VPS em uma plataforma de desenvolvimento gerenciada. Você mantém acesso root ao VPS e decide quais linguagens, pacotes, repositórios e extensões adicionar.

Entregue pela imagemGerenciado pelo usuário ou não incluído
Ubuntu 24.04 LTSManutenção do sistema operacional após a entrega
Uma versão estável fixa do code-serverAtualizações automáticas do code-server
Ferramentas de linha de comando do GitConta de hospedagem Git e credenciais
Serviço code-server não-rootContas de equipe compartilhadas ou gerenciamento de funções
Autenticação por senha habilitadaProvedor de identidade externo ou autenticação única
Senha aleatória única para cada VPSPolítica de rotação de senhas após o primeiro login
Ouvinte apenas local em 127.0.0.1:8080Domínio público, proxy reverso ou HTTPS confiável
Início automático do serviço após um reinício normalAlta disponibilidade ou failover automático
Armazenamento persistente do VPSBackup automático fora do servidor
Suporte à instalação de extensõesExtensões de terceiros pré-instaladas ou garantias de compatibilidade
Terminal integrado e proxy de porta de desenvolvimentoRuntimes de linguagem, bancos de dados, Docker ou projetos do usuário

A seção Aplicativo nos detalhes do seu recurso VoyraCloud mostra a versão do code-server entregue quando o VPS foi criado. Ela não é atualizada automaticamente quando você altera o software mais tarde.


Início Rápido: Como você acessa o code-server com segurança?

O caminho inicial seguro é estabelecer um túnel SSH, recuperar sua senha de instância via SSH e abrir a URL de loopback no seu próprio computador. Isso mantém a porta 8080 privada e criptografa o tráfego entre seu computador e o VPS.

  1. Abra a página do code-server da VoyraCloud e continue para o fluxo de compra.
  2. Selecione um plano de VPS em nuvem ou VPS com IP residencial elegível e qualquer região atualmente oferecida por esse produto.
  3. Confirme que o code-server está selecionado em Imagens, crie o VPS e aguarde até que o provisionamento seja concluído.
  4. Abra os detalhes do recurso e copie o comando do túnel SSH exibido. Ele segue este padrão:
ssh -p <ssh-port> -N -L 8080:127.0.0.1:8080 <ssh-user>@<server-ip>
  1. Mantenha essa sessão SSH aberta. Se ela sair, o túnel se fecha, mas o code-server continua em execução no VPS.
  2. Abra uma segunda sessão SSH usando os valores de conexão mostrados para seu recurso:
ssh -p <ssh-port> <ssh-user>@<server-ip>

7. Leia a senha gerada na configuração do seu code-server:

sed -n 's/^password: //p' ~/.config/code-server/config.yaml

8. No seu navegador local, abra:

http://127.0.0.1:8080

9. Insira a senha do passo 7, abra o terminal integrado e verifique o Git:

git --version

Use o usuário SSH e a porta reais dos detalhes do seu recurso, em vez de assumir root e porta 22. O processo do code-server é executado sob o usuário não-root da imagem, então o comando de configuração deve ser executado como esse mesmo usuário SSH.

O endereço usa HTTP porque é acessado apenas através do túnel SSH criptografado no seu próprio computador. Não é uma URL de produção pública. Não altere o ouvinte para 0.0.0.0:8080 apenas para que o endereço IP abra em um navegador.

Se a porta local 8080 já estiver em uso, escolha uma porta diferente no lado esquerdo:

ssh -p <ssh-port> -N -L 18080:127.0.0.1:8080 <ssh-user>@<server-ip>

Então navegue para http://127.0.0.1:18080. Mantenha o destino remoto como 127.0.0.1:8080.

Como você altera a senha do code-server?

Altere a senha gerada editando a configuração do code-server como o usuário do serviço e reiniciando o serviço. Use uma senha única que você não reutilize para SSH, hospedagem Git, e-mail ou outro VPS.

Abra o arquivo de configuração:

nano ~/.config/code-server/config.yaml

Mantenha estas configurações de segurança:

bind-addr: 127.0.0.1:8080
auth: password
cert: false

Substitua apenas o valor após password: pela sua nova senha forte, salve o arquivo e reinicie o serviço específico do usuário:

sudo systemctl restart code-server@"$(whoami)"

Reconecte-se através do túnel e verifique a nova senha antes de fechar sua sessão de navegador autenticada existente. A FAQ oficial do code-server também documenta uma opção de hashed-password Argon2. Se você adotá-la, siga a sintaxe oficial atual, mantenha um caminho de recuperação através do SSH e teste o serviço após a alteração.

Nunca defina auth: none em uma implantação acessível publicamente. Um túnel SSH limita a acessibilidade da rede, mas manter a autenticação por senha habilitada adiciona um segundo controle e evita a exposição acidental sem autenticação se a configuração da rede mudar mais tarde.


Como você adiciona um projeto e repositório Git?

Crie ou clone projetos dentro de um diretório de propriedade do usuário do serviço não-root, e então abra esse diretório a partir do IDE do navegador. Evite desenvolver como root porque extensões de editor, scripts de projeto e hooks de ciclo de vida de pacotes podem executar código.

Para clonar um repositório via HTTPS:

mkdir -p ~/projects
cd ~/projects
git clone https://github.com/<owner>/<repository>.git

Para um repositório privado, use um método de credencial suportado pelo seu provedor Git. Não cole tokens de acesso de longa duração em arquivos de origem, scripts de shell, configurações de editor ou comandos de terminal que permanecem no histórico do shell. Prefira um helper de credencial suportado pelo provedor, um token de escopo estreito ou encaminhamento de agente SSH de uma estação de trabalho confiável.

Antes de encaminhar um agente SSH, entenda a fronteira de confiança: processos executados como seu usuário remoto podem solicitar assinaturas do agente encaminhado enquanto a sessão estiver ativa. Não encaminhe uma chave pessoal de alto valor para um ambiente de projeto não confiável. Uma chave de implantação específica do repositório ou credencial de escopo estreito pode reduzir a consequência de comprometimento.

A imagem não instala toolchains de linguagem para cada projeto. Adicione apenas o runtime que seu código precisa e use o lockfile do projeto para manter as dependências reprodutíveis. Revise os scripts de instalação antes de executá-los, especialmente comandos copiados de um README de repositório ou executados automaticamente por um gerenciador de pacotes.


Como as extensões funcionam no code-server?

O code-server suporta extensões, mas seu ecossistema de extensões não é idêntico ao do VS Code desktop e nem toda extensão funcionará em um ambiente hospedado no navegador. Algumas extensões dependem de serviços proprietários da Microsoft, APIs de desktop, binários nativos ou termos de licença que não se aplicam a forks.

Instale uma extensão a partir da visualização de Extensões ou com a linha de comando do code-server:

code-server --install-extension <publisher.extension>

Você também pode instalar um arquivo VSIX confiável que obteve do editor da extensão:

code-server --install-extension /path/to/extension.vsix

A orientação oficial sobre extensões explica os caminhos suportados de marketplace e VSIX. Ela também desencoraja apontar o code-server para URLs de marketplace da Microsoft, pois isso conflita com os Termos de Uso da Microsoft.

Trate extensões como software executável. Revise o editor, a fonte, as permissões, o histórico de atualizações e o acesso ao projeto antes da instalação. Uma extensão pode ler arquivos de espaço de trabalho, iniciar processos, conectar-se a redes e acessar credenciais disponíveis para o usuário do serviço. Instale apenas o que o projeto requer e teste as atualizações de extensões antes de confiar nelas para trabalhos importantes.


Como você executa e visualiza um serviço de desenvolvimento?

Execute seu servidor de desenvolvimento na interface de loopback do VPS e acesse-o através do proxy de porta embutido do code-server ou de outro túnel SSH. Você não precisa expor todas as portas de desenvolvimento no firewall do VPS.

Por exemplo, se seu projeto iniciar um servidor de desenvolvimento em 127.0.0.1:3000, o code-server pode detectar a porta e oferecer um link encaminhado em sua interface de Portas. O proxy embutido usa a sessão autenticada do code-server e depende de WebSockets para a conexão do editor.

Para um túnel SSH separado, execute isso no seu computador:

ssh -p <ssh-port> -N -L 3000:127.0.0.1:3000 <ssh-user>@<server-ip>

Então abra http://127.0.0.1:3000 localmente. Este padrão é apropriado para painéis de desenvolvimento, documentação de API local e aplicações de teste que não devem estar disponíveis ao público.

Não assuma que uma senha do code-server protege um serviço que você vincula diretamente a 0.0.0.0. Uma porta de aplicativo separada pode contornar completamente a autenticação do IDE. Decida deliberadamente quais serviços são privados, quais precisam de sua própria autenticação e quais estão prontos para exposição na internet.


Como você deve publicar o code-server com HTTPS?

O acesso público requer um domínio, um certificado TLS confiável, um proxy reverso que preserve WebSockets, autenticação por senha e, preferencialmente, uma camada adicional de acesso consciente da identidade. O guia oficial de acesso seguro alerta que expor o code-server sem autenticação e criptografia pode dar a um atacante controle da máquina através de seu terminal.

Use esta lista de verificação de produção:

  1. Crie um nome de host dedicado, como code.example.com, e aponte seu registro DNS para o VPS.
  2. Mantenha o code-server vinculado a 127.0.0.1:8080.
  3. Configure Nginx, Caddy ou outro proxy reverso suportado para acessar o serviço de loopback.
  4. Preserve os cabeçalhos de atualização WebSocket HTTP/1.1 e as informações do host original.
  5. Obtenha um certificado confiável pelo navegador e automatize a renovação.
  6. Redirecione HTTP simples para HTTPS.
  7. Mantenha a autenticação por senha do code-server habilitada.
  8. Adicione uma camada de acesso externo, como um proxy consciente da identidade, quando o risco justificar.
  9. Teste login, terminal, carregamento de extensões, upload de arquivos e portas de desenvolvimento encaminhadas.
  10. Confirme a partir de outra rede que a porta 8080 em si permanece indisponível.

Uma localização mínima do Nginx precisa de encaminhamento WebSocket:

location / {
    proxy_pass http://127.0.0.1:8080;
    proxy_http_version 1.1;
    proxy_set_header Host $host;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection "upgrade";
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Proto $scheme;
}

Este é apenas o bloco de proxy do aplicativo. Você ainda deve configurar o nome do servidor, certificado confiável, renovação, redirecionamento HTTP, firewall e política de acesso. Valide a configuração completa com a documentação atual para o proxy escolhido.

Certificados autoassinados são um padrão ruim para uso normal em navegadores porque os usuários devem ignorar ou gerenciar manualmente avisos de confiança. O acesso via túnel SSH é mais simples quando apenas um administrador precisa do IDE. HTTPS público é útil quando você precisa de acesso ao navegador a partir de dispositivos sem um cliente SSH, mas cria uma superfície de ataque maior e uma responsabilidade contínua de manutenção de certificados e proxies.


VPS em nuvem ou VPS com IP residencial para code-server?

O VPS em nuvem é a escolha normal para desenvolvimento remoto, enquanto o VPS com IP residencial está disponível quando uma identidade de rede residencial estável é realmente parte do requisito de desenvolvimento ou teste regional. Ambas as linhas de produtos fornecem o mesmo comportamento do aplicativo code-server e suportam todas as regiões atualmente oferecidas para esse produto.

ProdutoConfiguração inicial elegívelUso apropriado
VPS em nuvem2 vCPU, 2 GB RAM, 40 GB armazenamentoCodificação geral, projetos Git, builds leves e desenvolvimento remoto
VPS com IP residencial2 vCPU, 4 GB RAM, 60 GB armazenamentoO mesmo fluxo de trabalho de desenvolvimento quando uma origem de rede residencial estável é necessária

O mínimo de compra é um portão de elegibilidade, não uma garantia de desempenho. Projetos maiores podem precisar de mais recursos para servidores de linguagem, instalação de pacotes, indexação de TypeScript, compilação, bancos de dados locais, builds de contêiner ou vários processos concorrentes. Monitore o uso de memória, CPU, disco e armazenamento livre após instalar sua verdadeira toolchain.

A identidade de rede residencial não melhora o desempenho do editor e não deve ser apresentada como um recurso de segurança para o IDE. Escolha-a apenas quando a origem da rede em si tiver um papel legítimo em seu trabalho. Revise as configurações atuais na página de preços da VoyraCloud antes da compra.


O que persiste após um reinício?

Arquivos armazenados no VPS persistem através de um reinício normal, e o serviço code-server inicia novamente automaticamente, mas processos de terminal ao vivo e estado de editor não salvo podem não sobreviver. Salve o trabalho do projeto em disco e use supervisão de processos apropriada para qualquer coisa que precise reiniciar.

Itens persistentes incluem:

  • Arquivos de projeto e repositórios Git locais.
  • Configurações do editor, keybindings e extensões instaladas.
  • Configuração do code-server e alterações de senha.
  • Arquivos escritos por ferramentas em diretórios persistentes.

Não espere que um reinício preserve:

  • Um buffer de editor não salvo.
  • Um comando em execução em um terminal normal sem supervisão.
  • Um servidor de desenvolvimento em memória.
  • Arquivos temporários que suas ferramentas excluem ao sair.
  • Estado da sessão do navegador em um computador diferente.

Para aplicações de longa duração, use um gerenciador de serviços ou configuração de contêiner projetada para essa aplicação. O reinício do code-server não reinicia automaticamente cada comando que estava aberto em seu terminal.


Como você faz backup de um VPS code-server?

Faça backup do código-fonte e do estado do ambiente fora do VPS porque a persistência local não pode proteger contra exclusão, corrupção, comprometimento ou falha de armazenamento. Remotos Git são úteis para código-fonte versionado, mas podem não conter trabalho não comitado, segredos, bancos de dados locais, ativos gerados, configurações de editor ou estado de implantação.

Use um plano de backup em camadas:

  1. Envie o código-fonte comitado para um remoto Git privado que você controla.
  2. Identifique dados do projeto que o Git exclui intencionalmente.
  3. Faça backup das configurações do code-server e do estado da extensão se recriá-los for custoso.
  4. Exporte bancos de dados locais com um método consistente de aplicação em vez de copiar arquivos de banco de dados ao vivo cegamente.
  5. Armazene backups criptografados fora do VPS.
  6. Mantenha mais de um ponto de recuperação.
  7. Restaure em um ambiente de teste separado e verifique o projeto, credenciais, editor e processo de construção.

Não coloque segredos em um repositório Git apenas para facilitar o backup. Faça backup de credenciais através de um processo apropriado de gerenciamento de segredos ou recuperação criptografada, e gire-as se suspeitar que o VPS ou o destino do backup foi exposto.


Como você deve atualizar o code-server?

Atualize deliberadamente escolhendo uma versão estável específica, lendo suas notas de lançamento, fazendo backup de seus dados e testando o editor e o fluxo de trabalho do projeto após a instalação. A imagem não segue um lançamento flutuante latest e a VoyraCloud não atualiza automaticamente um VPS de cliente existente.

Antes de atualizar:

  1. Registre a versão atual com code-server --version.
  2. Revise os lançamentos oficiais do code-server e o changelog para correções de segurança, regressões e alterações de compatibilidade do navegador.
  3. Faça backup de projetos, configurações, estado de extensões e a configuração atual.
  4. Escolha uma versão estável exata em vez de uma build de borda ou alvo de pacote flutuante.
  5. Mantenha uma sessão SSH disponível caso a interface do navegador falhe.
  6. Instale a nova versão usando o método oficial atual para Ubuntu.
  7. Reinicie o serviço e verifique seu status.
  8. Teste login por senha, conectividade WebSocket, acesso ao terminal, Git, extensões necessárias e um projeto representativo.
  9. Confirme que o ouvinte ainda é 127.0.0.1:8080 e que a autenticação ainda está habilitada.

A página oficial de atualização afirma que os dados do usuário são preservados quando uma nova versão é instalada sobre a antiga. Esse comportamento esperado não substitui um backup ou prova que cada extensão e projeto permanece compatível.

Atualizações de segurança do sistema operacional, runtimes de linguagem, gerenciadores de pacotes, proxies reversos, certificados, extensões e dependências de projeto têm ciclos de atualização separados. Atualizar apenas o code-server não torna todo o ambiente de desenvolvimento atual.


Erros Comuns a Evitar

A maioria das falhas de implantação do code-server vem de enfraquecer controles de acesso, confundir persistência com backup ou assumir que a compatibilidade do IDE do navegador é idêntica ao do VS Code desktop. Evite esses erros:

  1. Vincular 8080 a todas as interfaces por conveniência.
  2. Definir auth: none em um servidor acessível publicamente.
  3. Publicar o IDE através de HTTP simples em vez de usar um túnel ou HTTPS confiável.
  4. Reutilizar a senha gerada em várias instâncias de VPS.
  5. Executar comandos do code-server ou do projeto como root.
  6. Tratar cada extensão ou integração de marketplace proprietário como compatível.
  7. Instalar extensões, scripts ou dependências de repositório não revisados.
  8. Expor portas de desenvolvimento sem autenticação separada.
  9. Assumir que processos de terminal abertos sobreviverão a um reinício.
  10. Chamar arquivos locais do VPS de backup.
  11. Atualizar para um lançamento flutuante sem ler as alterações ou manter acesso de recuperação SSH.
  12. Armazenar tokens Git, chaves de API ou chaves privadas SSH no código-fonte do projeto.

FAQ

Posso abrir o code-server no endereço IP do VPS?

Não, a imagem VoyraCloud intencionalmente não expõe a porta 8080 no IP público. Estabeleça o túnel SSH mostrado nos detalhes do recurso e abra http://127.0.0.1:8080 no seu próprio computador. Configure um domínio, proxy reverso, HTTPS confiável e controles de acesso antes de habilitar o acesso público pelo navegador.

Por que a URL local usa HTTP?

A URL HTTP é transportada dentro do túnel SSH criptografado e é acessível apenas a partir do seu computador local enquanto o túnel estiver aberto. Não é uma URL pública segura e não deve ser exposta diretamente na internet.

Onde eu consigo a senha inicial?

Conecte-se ao VPS via SSH e leia a senha única da configuração do code-server do seu usuário de serviço. A senha não é exibida na página de recursos da VoyraCloud, API frontend, logs ou análises. Altere-a após confirmar o acesso inicial.

A imagem inclui Node.js, Python, Docker ou bancos de dados?

Não. A imagem fornece code-server, Git e o ambiente Linux necessário para o IDE do navegador. Instale e mantenha os runtimes de linguagem, bancos de dados, contêineres e dependências de projeto exigidos pelo seu próprio trabalho.

Posso instalar extensões normais do VS Code?

Algumas extensões funcionam, mas a compatibilidade não é idêntica ao VS Code desktop. Use a fonte de extensão suportada ou um VSIX confiável, verifique a licença da extensão e os requisitos de runtime, e não redirecione o code-server para URLs do marketplace da Microsoft.

Várias pessoas podem compartilhar uma senha do code-server?

Uma senha compartilhada não fornece identidades individuais, funções ou auditabilidade. Esta imagem é projetada como um espaço de trabalho auto-gerenciado de usuário único. Use instâncias de VPS separadas ou uma plataforma projetada para gerenciamento de espaço de trabalho em equipe quando vários usuários precisarem de acesso controlado.

Meu trabalho permanecerá após um reinício do VPS?

Arquivos salvos, repositórios, configurações, extensões e configuração do code-server permanecem no armazenamento persistente do VPS após um reinício normal. Buffers de editor não salvos e processos de terminal normais podem não sobreviver, e a persistência local não substitui um backup fora do servidor.

A VoyraCloud atualiza automaticamente o code-server?

Não. A imagem entrega uma versão estável fixa e instâncias existentes não seguem automaticamente novos lançamentos. Revise as notas de lançamento oficiais, faça backup dos dados, instale uma versão estável exata e teste autenticação e fluxos de trabalho do projeto após uma atualização.


Conclusão

Um VPS code-server oferece um ambiente de desenvolvimento baseado em navegador persistente enquanto mantém o sistema operacional, arquivos, ferramentas e controles de rede sob sua administração. Comece com o túnel SSH privado, mantenha a autenticação por senha, instale apenas os runtimes e extensões que seu projeto precisa e adicione um proxy reverso HTTPS confiável apenas quando o acesso público pelo navegador for necessário.

Use o guia de gerenciamento de VPS para planejar as atualizações do sistema operacional, controles de acesso, monitoramento e trabalho de backup que permanece fora do IDE do navegador.

Comece com a imagem do aplicativo code-server da VoyraCloud, verifique o ambiente entregue e construa seu fluxo de trabalho de desenvolvimento em um VPS que você controla.

Compartilhar:

Artigos relacionados