1

community-scripts no Proxmox: aquela linha roda como root no host, então leia antes de colar

Muita gente no Proxmox começa do mesmo jeito: abre o shell do host, cola uma linha copiada de um site e, cinco minutos depois, tem um container LXC com o aplicativo rodando. Esse site é o community-scripts (Proxmox VE Helper-Scripts), o projeto que nasceu do trabalho do tteck e hoje é mantido pela comunidade.

Eu uso até hoje. Foi por ele que instalei o meu primeiro Vaultwarden, e também Pi-hole, AdGuard, Docker e Home Assistant. Mas tem um cuidado que eu acho obrigatório.

O que aquela linha faz

O formato é sempre o mesmo:

bash -c "$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/ct/technitiumdns.sh)"

Isso baixa um código da internet e executa como root, no host do Proxmox, a máquina que segura todos os seus containers e backups.

O projeto é aberto, popular e revisado pela comunidade, e isso conta muito. Mesmo assim, a minha regra é: ler antes de rodar. Não precisa entender cada linha; precisa saber o que ele vai fazer.

curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/ct/technitiumdns.sh -o technitiumdns.sh
less technitiumdns.sh

O que eu olho

  • De onde ele baixa o resto. O script carrega funções de outros arquivos do projeto e roda um instalador dentro do container. Tudo deve vir do próprio community-scripts e do site oficial do aplicativo.
  • Os recursos e o tipo de container. Prefira unprivileged, que é o padrão da maioria.
  • O que vai ser instalado. Pacotes, serviços do systemd, portas.

E desconfie de comando parecido vindo de fork, fórum ou descrição de vídeo. Copie da página oficial do script e confira se a URL aponta para raw.githubusercontent.com/community-scripts/ProxmoxVE/.

Padrão ou avançado

Para testar um aplicativo, o modo padrão resolve. Para um serviço que vai ficar, use o avançado e defina IP fixo e storage certo já na criação. Isso poupa trabalho depois, principalmente em DNS.

Antes do próximo script

Depois de perder tudo uma vez, a minha regra é conferir se o backup da noite rodou antes de instalar qualquer coisa nova. Script de instalação mexe no host, e se algo der errado eu quero poder voltar.

E vocês, leem os scripts antes de colar no shell do host, ou confiam no projeto?

O post completo está no meu blog: https://blog.brumarino.com/community-scripts-proxmox/?de=tabnews

Carregando publicação patrocinada...
1

Um detalhe pra quem for seguir a dica do less: o arquivo do ct/ é praticamente só a configuração. Na primeira linha ele dá source no build.func, que hoje vem de outro repositório (community-scripts/core, branch main), e é lá que mora a maior parte do que roda no host. Então ler só o technitiumdns.sh mostra CPU, RAM e tipo de container, mas não a lógica. A conferência de URL que você sugeriu também precisa aceitar esse segundo repo.

E como tudo aponta pra main, o que você leu agora pode não ser exatamente o que roda amanhã. Pelo que vi, o script olha a variável COMMUNITY_SCRIPTS_CORE_DIR antes de baixar, então dá pra apontar pra uma cópia local do core que você já leu.