Para saber o que roda onde, você pula entre SSH, docker, podman e kubectl, uma máquina de cada vez.
Todos os containers, VMs e labs que você roda, numa janela só.
O Gantry é um app desktop para projetos no Docker, no Podman e no containerd, máquinas virtuais QEMU, labs de rede Cisco e clusters Kubernetes, neste computador e nos seus servidores via SSH. Os seus arquivos compose continuam sendo a fonte, e nada precisa ser instalado nos servidores.
Software livre sob a AGPL-3.0. macOS, Linux e Windows (experimental).
O problema
Uma máquina por terminal, uma ferramenta por janela
Painéis de containers costumam pedir um servidor para hospedar e um agente instalado em cada máquina.
Um lab de rede com equipamentos Cisco costuma exigir um servidor de emulação dedicado só para ele.
Funcionalidades
As máquinas que você usa, e o que roda nelas
O Gantry lê o estado direto de cada engine: o que você sobe pelo terminal aparece no app na hora.
Máquinas
Este computador e os seus servidores via SSH numa barra lateral, com pastas. Hardware e uso ao vivo, sem agente.
Projetos compose
Todo projeto compose com os containers, as portas que abrem no navegador e subir, parar, reiniciar e atualizar com um clique.
Editor do compose
Edite o compose.yaml e o .env no app ou no seu editor. O Gantry mostra quais serviços estão diferentes do arquivo e aplica só o que mudou.
Mais de 30 modelos
Postgres, Redis, Kafka, Grafana, Keycloak e outros, ou cole um compose ou um docker run. Portas livres e senhas são resolvidas antes de qualquer coisa subir.
Containers
Logs com filtro e período, shell, arquivos (navegar, baixar, enviar), CPU e memória ao vivo, eventos, editar e recriar. Imagens, volumes e redes também.
Máquinas virtuais
VMs QEMU no mesmo compose: Debian, Ubuntu, Rocky, k3s, uma ISO ou um qcow2 seu. Console, tela (VNC), snapshots, clonar e aumentar o disco.
Kubernetes
Clusters do seu kubeconfig: workloads, logs, shell, encaminhar porta, Helm com rollback, CRDs e aplicar YAML. Modo só leitura por cluster.
Backup e segredos
Backup de volumes, bancos e arquivos, na hora ou agendado. Segredos no chaveiro do sistema em vez do .env.
Métricas e ferramentas
CPU e memória por container e VM, de 15 minutos a 24 horas, e o que falta em cada máquina, com o comando de instalação do sistema dela.
Labs de rede
Labs de rede que rodam no seu notebook
Cisco IOL, Dynamips e VPCS ficam junto de containers como o FRR ou qualquer Linux, no mesmo compose, ligados por cabos. O Gantry desenha a topologia, captura qualquer cabo ao vivo e importa labs do PNETLab e do EVE-NG como eles são.
- Arraste uma porta até outra para ligar um cabo; botão direito num equipamento abre o console.
- Guarde o estado de todos os equipamentos e volte a ele, como um ponto de salvamento do exercício.
- Capture o tráfego de qualquer cabo ao vivo e salve o .pcap para abrir no Wireshark.
- A importação mantém os mesmos equipamentos, placas, cabos e configurações, erros incluídos. O que precisou mudar fica escrito.
Vantagens
O que você não precisa
O Gantry é um binário no seu computador. O resto é o que você já tem.
Um servidor para hospedar o painel
A interface roda dentro do app, em 127.0.0.1, com um token novo a cada vez que ele abre.
Um agente em cada servidor
SSH e o socket do engine bastam. Um agente pequeno e opcional acrescenta 24 h de histórico de métricas e uma conexão direta com TLS.
Um formato novo de projeto
Um projeto é um compose.yaml que o docker compose roda sem o Gantry. Os extras são chaves x- opcionais.
Um servidor dedicado para labs
Roteadores, switches, PCs, containers e VMs dividem o mesmo compose, num Mac ou em qualquer Linux.
kubectl e outra IDE para os clusters
Workloads, logs, shell, encaminhar porta, Helm e CRDs ficam junto das suas máquinas, com modo só leitura por cluster.
Senhas soltas no .env
Os segredos podem ficar no chaveiro do sistema e só são entregues ao compose na hora de rodar.
Local primeiro, nada exposto
A interface só escuta em 127.0.0.1, com um token por execução, e o acesso aos servidores passa por túneis SSH. Nada fica aberto na internet. E o código é aberto: software livre sob a AGPL-3.0, no GitHub.
Telas
Veja o Gantry por dentro
Mais telas e casos práticos no guia passo a passo.
Como começar
Do download ao primeiro projeto
Instale com um comando só: curl no Linux e no macOS, PowerShell no Windows. Sem sudo nem admin.
A primeira tela mostra o que ele achou neste computador e oferece os servidores do ~/.ssh/config e os clusters do ~/.kube/config.
Os projetos compose que já rodam aparecem na lista. Abra um para ver os containers, os logs e os arquivos.
Crie um projeto a partir de um modelo, como Postgres + Adminer, ou adicione um servidor com um endereço como ssh://homelab.
Para quem é
Para quem roda containers, VMs e labs no dia a dia
Desenvolvedores
Bancos, filas e serviços locais em compose, sem decorar comandos para ver o que está rodando.
Infraestrutura, DevOps e SRE
Vários servidores e clusters num lugar só, por SSH, sem instalar painel nem agente.
Estudantes e profissionais de redes
Labs Cisco com IOL, Dynamips e VPCS no notebook, e labs do PNETLab e do EVE-NG importados como são.
Baixar
Instale com um comando
Um comando só, para o seu usuário, sem sudo nem admin. Ele confere os arquivos com as somas de verificação da versão; rode de novo para atualizar.
Linux e macOS
curl -fsSL https://gonservice.github.io/gantry/install.sh | sh
Windows (PowerShell)
irm https://gonservice.github.io/gantry/install.ps1 | iex
Num Linux sem área de trabalho, ele instala a versão de servidor (ou use | sh -s -- --server).
Ou escolha o arquivo
macOS
Apple Silicon e Intel, pelo Homebrew ou pelo .zip.
Linux, app desktop
x86_64. Precisa do WebKitGTK 4.1; o instalar.sh mostra o comando se faltar.
Windows
Experimental: roda os engines e as VMs dentro do WSL2.
Servidor Linux sem tela
amd64 e arm64. Sem janela: a interface abre no navegador.
brew install --cask gonservice/tap/gantry
Os apps ainda não são assinados: no macOS o Homebrew resolve; com o zip, abra a primeira vez com botão direito › Abrir.
Perguntas frequentes
Dúvidas sobre o Gantry
O Gantry é gratuito?
Sim. É software livre sob a AGPL-3.0: você pode usar, estudar, modificar e distribuir. Versões modificadas, inclusive as oferecidas pela rede, também precisam ser distribuídas com o código-fonte.
Preciso instalar algo nos servidores?
Não. SSH e o socket do engine bastam. Um agente pequeno e opcional acrescenta 24 h de histórico de métricas e uma conexão direta com TLS.
E se eu parar de usar o Gantry?
Nada se perde. Os projetos são arquivos compose.yaml comuns, que o docker compose roda sem o Gantry; ele não guarda uma cópia num formato próprio.
Funciona no Windows?
Em modo experimental, rodando os engines e as VMs dentro do WSL2. No macOS (Apple Silicon e Intel) e no Linux ele funciona de forma nativa.
As imagens dos equipamentos Cisco vêm junto?
Não. O Gantry roda IOL, Dynamips e VPCS, mas as imagens Cisco (IOL e IOS) não fazem parte do projeto e não são distribuídas.
Por que o macOS avisa na primeira vez que abro?
Porque os apps ainda não são assinados. Instalando pelo Homebrew isso já é resolvido; com o .zip, abra a primeira vez com botão direito › Abrir.
Contato
Dúvidas sobre o Gantry?
Conte como a sua equipe trabalha que a gente responde. Para relatar um bug, use o repositório no GitHub.