<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:webfeeds="http://webfeeds.org/rss/1.0"><channel><title>community-scripts | Self-Hosted!</title><link>https://blog.brumarino.com/tags/community-scripts/</link><description>Post novo no “Rack” todo dia às 7AM. Proxmox, rede, backup, UPS, IA e tudo o que tenho estudado.</description><language>pt-BR</language><managingEditor>Bruno Marino</managingEditor><image><url>https://blog.brumarino.com/brand/icon-144.png</url><title>community-scripts | Self-Hosted!</title><link>https://blog.brumarino.com/tags/community-scripts/</link><width>144</width><height>144</height></image><webfeeds:icon>https://blog.brumarino.com/brand/icon-192.png</webfeeds:icon><webfeeds:logo>https://blog.brumarino.com/brand/symbol.svg</webfeeds:logo><webfeeds:accentColor>2B3036</webfeeds:accentColor><lastBuildDate>Wed, 21 Oct 2026 07:00:00 -0300</lastBuildDate><atom:link href="https://blog.brumarino.com/tags/community-scripts/index.xml" rel="self" type="application/rss+xml"/><item><title>community-scripts no Proxmox: leia o script antes de rodar</title><link>https://blog.brumarino.com/community-scripts-proxmox/</link><pubDate>Wed, 21 Oct 2026 07:00:00 -0300</pubDate><guid>https://blog.brumarino.com/community-scripts-proxmox/</guid><category>Apps self-hosted</category><description>Instalei Vaultwarden, Pi-hole, AdGuard, Docker e Home Assistant pelo community-scripts. Como ele funciona e o que conferir antes de rodar como root.</description><content:encoded><![CDATA[<p>Muita gente no mundo Proxmox começa do mesmo jeito: abre o shell do host, cola uma linha de comando copiada de um site e, cinco minutos depois, tem um container LXC com o aplicativo instalado e rodando. Esse site é o <strong>community-scripts</strong>, a coleção de scripts da comunidade conhecida como <strong>Proxmox VE Helper-Scripts</strong>.</p>
<p>Eu uso até hoje. Foi por ele que instalei o meu primeiro <strong>Vaultwarden</strong>, e também o <strong>Pi-hole</strong>, o <strong>AdGuard</strong>, o <strong>Docker</strong> e o <strong>Home Assistant</strong>. Neste post conto o que ele faz, como funciona por dentro e o cuidado que eu acho obrigatório antes de rodar um script como root no host.</p>
<h2 id="o-que-é-o-community-scripts">O que é o community-scripts <a class="anchor" href="#o-que-%c3%a9-o-community-scripts" aria-label="Link para esta seção">#</a></h2>
<p>O projeto se descreve como instalações de um comando só para serviços, containers e VMs no Proxmox VE. Ele nasceu do trabalho do <strong>tteck</strong>, que criou e manteve sozinho os scripts originais por anos. Depois que ele faleceu, a comunidade assumiu o projeto, que hoje é mantido no GitHub pela organização <code>community-scripts</code> e tem o site community-scripts.org como vitrine.</p>
<p>O funcionamento, segundo o próprio repositório:</p>
<ol>
<li>você procura o aplicativo no site;</li>
<li>copia o comando de uma linha da página do script;</li>
<li>cola no <strong>shell do host Proxmox</strong>;</li>
<li>escolhe entre a instalação <strong>padrão</strong> e a <strong>avançada</strong> e segue as perguntas.</li>
</ol>
<p>Pelo README, os scripts suportam Proxmox VE 8.4, 9.0, 9.1 e 9.2, precisam de acesso root no host e de internet durante a instalação. Eu uso no Proxmox VE 9.2.</p>
<h2 id="como-é-a-linha-de-comando">Como é a linha de comando <a class="anchor" href="#como-%c3%a9-a-linha-de-comando" aria-label="Link para esta seção">#</a></h2>
<p>O formato é sempre o mesmo: baixar o script do GitHub com <code>curl</code> e executar com <code>bash</code>. Para o Technitium DNS, por exemplo:</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">bash -c <span class="s2">&#34;</span><span class="k">$(</span>curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/ct/technitiumdns.sh<span class="k">)</span><span class="s2">&#34;</span>
</span></span></code></pre></div><p>Os scripts de container ficam na pasta <code>ct/</code> do repositório. Cada um define o básico do container logo no começo: CPU, memória, disco, sistema e se ele é <em>unprivileged</em>. O do Technitium, por exemplo, cria um container Debian 13 <em>unprivileged</em> com 1 núcleo, 512 MB de RAM e 2 GB de disco. Esses valores podem ser trocados no modo avançado.</p>
<h2 id="padrão-ou-avançado">Padrão ou avançado <a class="anchor" href="#padr%c3%a3o-ou-avan%c3%a7ado" aria-label="Link para esta seção">#</a></h2>
<ul>
<li><strong>Padrão:</strong> usa valores razoáveis de CPU, memória e disco e faz o mínimo de perguntas. É o caminho mais rápido.</li>
<li><strong>Avançado:</strong> deixa configurar o container, a rede, o storage e algumas opções do aplicativo antes de instalar.</li>
</ul>
<p>Para um serviço que vai ficar de verdade, o avançado compensa. Definir um IP fixo e o storage certo na criação poupa trabalho depois, principalmente para coisas como DNS, que precisam de endereço estável.</p>
<p>Depois de instalado, cada container ganha um ajudante pós-instalação, que o README descreve como o caminho para atualizar o aplicativo, mudar configurações e resolver problemas básicos.</p>
<h2 id="o-cuidado-que-eu-acho-obrigatório-ler-antes-de-rodar">O cuidado que eu acho obrigatório: ler antes de rodar <a class="anchor" href="#o-cuidado-que-eu-acho-obrigat%c3%b3rio-ler-antes-de-rodar" aria-label="Link para esta seção">#</a></h2>
<p>Aqui está o ponto que mais importa neste post. Aquele <code>bash -c &quot;$(curl ...)&quot;</code> baixa um código da internet e executa <strong>como root, no host do Proxmox</strong>, a máquina que segura todo o resto. É exatamente a camada em que eu não deixo nem a IA mexer.</p>
<p>O projeto é aberto, popular e revisado pela comunidade, e isso conta muito. Mas a prática que eu recomendo é simples: <strong>leia o script antes de executar</strong>. Não precisa entender cada linha; precisa saber o que ele vai fazer.</p>
<p>Dá para baixar e olhar sem executar nada:</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/ct/technitiumdns.sh -o technitiumdns.sh
</span></span><span class="line"><span class="cl">less technitiumdns.sh
</span></span></code></pre></div><p>O que eu olho:</p>
<ul>
<li><strong>De onde ele baixa o resto.</strong> O script de <code>ct/</code> carrega funções compartilhadas de outro arquivo do projeto e, dentro do container, roda um script de instalação. Confira se tudo vem dos repositórios do próprio community-scripts e do site oficial do aplicativo.</li>
<li><strong>Os recursos e o tipo de container.</strong> Prefira <em>unprivileged</em>, que é o padrão da maioria dos scripts.</li>
<li><strong>O que ele instala dentro do container.</strong> Pacotes, serviços do systemd, portas.</li>
</ul>
<aside class="alert alert--caution">
  <p class="alert__title">Cuidado</p>
  <p>Desconfie de qualquer comando parecido vindo de outro lugar: um fork, um post em fórum, um vídeo com o link na descrição. Copie a linha <strong>da página oficial do script</strong> e confira se a URL aponta para <code>raw.githubusercontent.com/community-scripts/ProxmoxVE/</code>. Um script malicioso rodando como root no host tem acesso a todos os seus containers e backups.</p>
</aside><p>Ler o script também ensina. Dá para ver como um LXC é criado com <code>pct</code>, o que vai para a configuração do container e como o serviço do aplicativo é montado no systemd.</p>
<h2 id="o-que-eu-instalei-e-o-que-ficou">O que eu instalei e o que ficou <a class="anchor" href="#o-que-eu-instalei-e-o-que-ficou" aria-label="Link para esta seção">#</a></h2>
<p>Pelo community-scripts passaram por aqui:</p>
<ul>
<li><strong>Vaultwarden:</strong> o meu primeiro cofre de senhas veio de um script desses. Hoje o Vaultwarden é o cofre da família.</li>
<li><strong>Pi-hole</strong> e <strong>AdGuard:</strong> os dois para bloqueio de anúncios e DNS. Hoje quem faz esse papel aqui é o Technitium DNS, assunto de um post desta semana.</li>
<li><strong>Docker:</strong> instalei, mas ainda uso pouco. Quase tudo continua em LXC, pelos motivos que contei no post sobre <a href="/proxmox-lxc-ou-vm/">LXC ou VM no Proxmox</a>.</li>
<li><strong>Home Assistant.</strong></li>
</ul>
<p>A lista completa do que roda hoje está no post sobre <a href="/apps-self-hosted-meu-homelab/">os apps self-hosted do meu homelab</a>.</p>
<h2 id="antes-de-rodar-o-próximo-script">Antes de rodar o próximo script <a class="anchor" href="#antes-de-rodar-o-pr%c3%b3ximo-script" aria-label="Link para esta seção">#</a></h2>
<p>Depois de perder tudo uma vez, eu recomendo: <strong>antes de instalar qualquer coisa nova, confira se o backup da noite rodou</strong>. Script de instalação mexe no host, cria storage, altera configuração. Se algo der errado, quero poder voltar. Como faço o backup está no post sobre <a href="/backup-proxmox-vzdump/">vzdump depois de perder tudo</a>.</p>
<h2 id="resumindo">Resumindo <a class="anchor" href="#resumindo" aria-label="Link para esta seção">#</a></h2>
<ul>
<li>O <strong>community-scripts</strong> cria containers LXC com aplicativos prontos em poucos minutos.</li>
<li><strong>Copie o comando só da página oficial</strong> e confira a URL.</li>
<li><strong>Leia o script antes de rodar</strong>: ele executa como root no host do Proxmox.</li>
<li><strong>Use o modo avançado</strong> para serviços que vão ficar, com IP fixo e storage certo.</li>
<li><strong>Tenha backup antes</strong> de instalar qualquer coisa no host.</li>
</ul>
<p>Para mim, ele continua sendo o jeito mais rápido de testar um aplicativo novo no homelab. Só não abro mão de saber o que estou executando.</p>
]]></content:encoded></item></channel></rss>