cmux CloudArquivos e rede
cmux Cloud

Arquivos e rede no Cloud

Esta página explica como transferir arquivos e segredos para uma máquina, como abrir suas portas e seu desktop, como funciona sua rede privada e como publicar uma URL.

Enviar e baixar arquivos

cmux vm push envia um arquivo ou pasta para uma máquina. A transferência é verificada com SHA-256. Por padrão, ele ignora .git, node_modules, .venv, __pycache__ e .DS_Store. Use --no-default-excludes para incluí-los, --exclude para ignorar mais caminhos e --watch para reenviar as alterações conforme você salva.

cmux vm push brave-otter ./app ~/app
cmux vm push brave-otter . ~/repo --no-default-excludes
cmux vm push brave-otter . ~/repo --exclude dist --watch
cmux vm pull brave-otter ~/repo/report.html ./report.html

Um envio pode ter até 256 MB. Para um repositório grande, clone-o dentro da máquina.

cmux vm pull baixa um arquivo de uma máquina.

Arquivos secretos

cmux vm push --secret envia um arquivo pequeno, de até 256 KB, pelo link criptografado do cmux. Por padrão, o arquivo é gravado com o modo 0600. Use-o para chaves e credenciais em vez de um envio normal.

cmux vm push --secret brave-otter ~/.npmrc ~/.npmrc

Variáveis de ambiente

cmux vm env armazena variáveis em ~/.config/cmux/env no disco da máquina. Todo novo shell as carrega. Os valores trafegam pelo link criptografado e não são exibidos. cmux vm env ls oculta os valores, a menos que você adicione --show.

cmux vm env set brave-otter --from-file .env
op read op://dev/stripe/key | cmux vm env set brave-otter -
cmux vm env ls brave-otter
cmux vm env rm brave-otter STRIPE_KEY

Argumentos KEY=VALUE podem ficar no histórico do shell local. Use --from-file ou a entrada padrão para segredos.

Portas e o navegador do app

Inicie um servidor de desenvolvimento em uma máquina e dê ⌘-clique na URL localhost no terminal do Cloud. O cmux a abre em um painel de navegador no endereço privado da máquina. Servidores que escutam apenas em localhost também funcionam. Você não precisa de VPN nem de encaminhamento de portas.

cmux vm ports lista as portas abertas em uma máquina. A barra lateral do Cloud as mostra em Ports. cmux vm open machine:port/number abre uma delas.

cmux vm ports brave-otter
cmux vm open brave-otter:port/3000

Desktop

Toda máquina tem um desktop Linux. Abra-o pelo menu da máquina com Open Desktop ou execute cmux vm desktop. Ele abre em um painel de navegador via VNC. Apps gráficos, o Chrome e a automação de navegador rodam nessa tela.

cmux vm desktop brave-otter

Rede privada

Suas máquinas não têm portas de entrada públicas. O cmux dá a cada conta uma rede privada, e cada Mac se conecta com sua própria chave WireGuard, que nunca sai do Mac. A conexão inicia dentro do app cmux e não precisa de aprovação.

Suas máquinas conseguem se comunicar entre si na mesma rede privada.

A página Cloud Mac access no cmux.com lista os Macs que podem acessar suas máquinas. Renomeie ou revogue um Mac ali. Revogar um Mac encerra a sessão dele e remove seu acesso a todas as máquinas.

VPN do sistema (opcional)

cmux vpn up adiciona uma rota do sistema para que outros apps no seu Mac, como um navegador separado ou um cliente de banco de dados, possam acessar suas máquinas. O próprio cmux não precisa disso. Na primeira vez, aprove a extensão de rede do cmux em Ajustes do Sistema › Geral › Itens de Início e Extensões. cmux vpn down a desativa.

cmux vpn up
cmux vpn status
cmux vpn down

URLs públicas

cmux cloud domains publish dá a uma porta de uma máquina uma URL HTTPS. O nome de host gerado termina em .cmux.sh.

cmux cloud domains publish brave-otter 3000
cmux cloud domains publish brave-otter 3000 --access team
cmux cloud domains publish brave-otter 8080 --access public --yes
cmux cloud domains list
cmux cloud domains grant <hostname> teammate@example.com
cmux cloud domains rm <hostname>

Cada URL tem um modo de acesso. O padrão é o proprietário da máquina: você, ou sua equipe quando a máquina pertence a uma equipe.

  • personal: só você pode abri-la.
  • team: os membros atuais da equipe proprietária da máquina podem abri-la.
  • public: qualquer pessoa com a URL pode abri-la. O cmux pede sua confirmação.

Para URLs personal e team, os visitantes primeiro iniciam sessão em uma página do cmux. A máquina nunca vê os cookies do cmux. Você também pode dar acesso a um endereço de e-mail para uma URL com cmux cloud domains grant.

Trate uma URL pública como uma senha. Qualquer pessoa que a tenha pode usar o serviço.

Domínios personalizados

cmux cloud domains verify imprime os registros DNS a adicionar: um registro TXT de propriedade, os registros de roteamento e a delegação do certificado. Adicione-os e execute verify de novo. Após a verificação, você pode publicar no domínio ou em um subdomínio um nível abaixo dele.

cmux cloud domains verify preview.example.com
cmux cloud domains publish brave-otter 3000 --domain app.preview.example.com