> ## Documentation Index
> Fetch the complete documentation index at: https://docs.squarecloud.app/llms.txt
> Use this file to discover all available pages before exploring further.

# Hospede um servidor Lavalink para seu bot de música

> Hospedagem de servidor Lavalink para bots de música do Discord: application.yml v4 com o plugin do YouTube, porta 80, senha forte e como seu bot se conecta.

export const RecommendedPlan = ({lang, plan, tier, cpu, appType, min}) => {
  const t = {
    'en': {
      q: <>Which plan should you choose for {appType}?</>,
      rec: p => <>We recommend the {p} plan: its <b>{tier} GB</b> of RAM and <b>{cpu} vCPU</b> handle most projects of this kind, with headroom for traffic spikes.</>,
      min: m => <> Lighter projects also run on the {m} plan.</>,
      pro: p => <> For larger projects, the {p} plan adds more RAM and CPU.</>
    },
    'pt-br': {
      q: <>Qual plano escolher para {appType}?</>,
      rec: p => <>Recomendamos o plano {p}: seus <b>{tier} GB</b> de RAM e <b>{cpu} vCPU</b> atendem a maioria dos projetos desse tipo, com folga para picos de tráfego.</>,
      min: m => <> Projetos mais leves também rodam no plano {m}.</>,
      pro: p => <> Para projetos maiores, o plano {p} oferece mais RAM e CPU.</>
    },
    'es': {
      q: <>¿Qué plan elegir para {appType}?</>,
      rec: p => <>Te recomendamos el plan {p}: sus <b>{tier} GB</b> de RAM y <b>{cpu} vCPU</b> cubren la mayoría de los proyectos de este tipo, con margen para picos de tráfico.</>,
      min: m => <> Los proyectos más ligeros también funcionan en el plan {m}.</>,
      pro: p => <> Para proyectos más grandes, el plan {p} ofrece más RAM y CPU.</>
    },
    'fr': {
      q: <>Quel plan choisir pour héberger {appType} ?</>,
      rec: p => <>Nous recommandons le plan {p} : ses <b>{tier} Go</b> de RAM et <b>{cpu} vCPU</b> suffisent pour la plupart des projets de ce type, avec une marge pour les pics de trafic.</>,
      min: m => <> Les projets plus légers fonctionnent aussi avec le plan {m}.</>,
      pro: p => <> Pour les projets plus importants, le plan {p} offre davantage de RAM et de CPU.</>
    },
    'de': {
      q: <>Welcher Plan eignet sich für {appType}?</>,
      rec: p => <>Wir empfehlen den {p}-Plan: <b>{tier} GB</b> RAM und <b>{cpu} vCPU</b> reichen für die meisten Projekte dieser Art, mit Reserven für Lastspitzen.</>,
      min: m => <> Kleinere Projekte laufen auch mit dem {m}-Plan.</>,
      pro: p => <> Für größere Projekte bietet der {p}-Plan mehr RAM und CPU.</>
    },
    'it': {
      q: <>Quale piano scegliere per {appType}?</>,
      rec: p => <>Ti consigliamo il piano {p}: i suoi <b>{tier}GB</b> di RAM e <b>{cpu}vCPU</b> bastano per la maggior parte dei progetti di questo tipo, con margine per i picchi di traffico.</>,
      min: m => <> I progetti più leggeri funzionano anche con il piano {m}.</>,
      pro: p => <> Per progetti più grandi, il piano {p} offre più RAM e CPU.</>
    },
    'ja': {
      q: <>{appType}にはどのプランを選べばよいですか？</>,
      rec: p => <>{p}プランをおすすめします。<b>{tier}GB</b>のRAMと<b>{cpu}vCPU</b>があれば、この種のプロジェクトの多くをトラフィックのピークにも余裕を持って動かせます。</>,
      min: m => <>軽量なプロジェクトは{m}プランでも動作します。</>,
      pro: p => <>より大規模なプロジェクトには、RAMとCPUが増える{p}プランをご検討ください。</>
    },
    'zh': {
      q: <>托管{appType}应该选择哪个套餐？</>,
      rec: p => <>我们推荐 {p} 套餐：<b>{tier}GB</b> RAM 和 <b>{cpu}vCPU</b> 足以运行大多数此类项目，并能从容应对流量高峰。</>,
      min: m => <>较轻量的项目也可以在 {m} 套餐上运行。</>,
      pro: p => <>对于更大的项目，{p} 套餐提供更多 RAM 和 CPU。</>
    }
  };
  const siteLang = t[lang] ? lang : 'en';
  const c = t[siteLang];
  const pay = (name, query) => <a href={`https://squarecloud.app/${siteLang}/pay?${query}`}>{name}</a>;
  const isPro = plan.toLowerCase() === 'pro';
  return <Note>
      <b>{c.q}</b><br />
      {c.rec(pay(plan, `plan=${plan.toLowerCase()}&tier=${tier}`))}
      {min ? c.min(pay(min, `plan=${min.toLowerCase()}`)) : null}
      {isPro ? null : c.pro(pay('Pro', 'plan=pro'))}
    </Note>;
};

export const appType_0 = "um servidor Lavalink"

## Introdução

Para desenvolver e hospedar {appType_0} na Square Cloud, siga a sequência de configurações e pré-requisitos abaixo.
Este guia cobre todo o processo, da configuração inicial ao deploy em produção.

### Pré-requisitos

* **Conta Square Cloud**: Cadastre-se através da [página de cadastro](https://squarecloud.app/pt-br/signup) usando seu e-mail.
* **Plano ativo**: Garante recursos dedicados e desempenho otimizado para seu aplicativo. Confira nossos [planos disponíveis](https://squarecloud.app/pt-br/pricing) e escolha o mais adequado às suas necessidades.

<RecommendedPlan appType="servidores Lavalink" plan="Standard" tier="4" cpu="4" min="Hobby" lang="pt-br" />

Este guia usa o [runtime Java](/pt-br/articles/getting-started-with-java).

## Obtenha o projeto

Baixe o `Lavalink.jar` na [página oficial de releases](https://github.com/lavalink-devs/Lavalink/releases). Este guia usa o Lavalink v4: escolha a release 4.x mais recente (4.2.0 ou mais nova) e confirme que seu bot usa um cliente Lavalink feito para a v4 e com suporte a DAVE (veja [Conecte o seu bot](#conecte-o-seu-bot)).

<Info>
  Já temos tudo pronto para deploy nas nossas [releases do lavalink-web](https://github.com/squarecloud-education/lavalink-web/releases), com o plugin do YouTube configurado. Baixe o `project.zip` e envie o projeto: durante o deploy do Lavalink, troque o valor provisório de `LAVALINK_SERVER_PASSWORD` nas variáveis de ambiente por uma senha longa e aleatória.
</Info>

## Configure o Lavalink

Crie um arquivo `application.yml` ao lado do `Lavalink.jar`. A configuração mínima abaixo escuta na porta da variável de ambiente `PORT` (a Square Cloud a define como `80`) e toca o YouTube pelo [plugin oficial youtube-source](https://github.com/lavalink-devs/youtube-source), já que a fonte do YouTube embutida no Lavalink está descontinuada:

```yaml application.yml theme={"system"}
server:
  port: ${PORT:80} # a variável PORT, ou 80 quando ela não está definida
  address: 0.0.0.0
plugins:
  youtube:
    enabled: true
lavalink:
  plugins:
    # Versão mais recente: https://github.com/lavalink-devs/youtube-source/releases
    - dependency: "dev.lavalink.youtube:youtube-plugin:1.18.2"
      snapshot: false
  server:
    password: "change-me-to-a-long-random-password"
    sources:
      youtube: false # substituída pelo plugin youtube-source
```

O Lavalink baixa o plugin na primeira inicialização. Para todas as outras opções (outras fontes, filtros, buffers), veja o [arquivo de exemplo oficial](https://github.com/lavalink-devs/Lavalink/blob/master/LavalinkServer/application.yml.example).

<Warning>Mantenha `address: 0.0.0.0` e não troque a porta por um valor fixo diferente de `80`: a Square Cloud entrega o tráfego do seu subdomínio na porta `80` da sua aplicação.</Warning>

### Defina uma senha forte

Troque o valor de `password` por uma senha forte e aleatória com pelo menos 32 caracteres. Para mantê-la fora dos seus arquivos, defina-a na variável de ambiente `LAVALINK_SERVER_PASSWORD`: o Lavalink dá prioridade às [variáveis de ambiente](https://lavalink.dev/configuration/) sobre o `application.yml`. Adicione a variável em **Configuração avançada**, no formulário de upload, ou na página **Variáveis de ambiente** da sua aplicação no dashboard, ou pela CLI:

```bash theme={"system"}
squarecloud app env set LAVALINK_SERVER_PASSWORD=your_long_random_password
squarecloud app restart
```

Veja [Variáveis de ambiente](/pt-br/platform/environment-variables) para as outras formas de gerenciá-las.

## Configure a Square Cloud

Crie um arquivo `squarecloud.app` ao lado do `Lavalink.jar`. O campo `SUBDOMAIN` publica seu servidor em `https://<subdomain>.squareweb.app`:

```systemd squarecloud.app theme={"system"}
DISPLAY_NAME=Lavalink
MAIN=Lavalink.jar
MEMORY=1024
VERSION=recommended
SUBDOMAIN=my-lavalink
AUTORESTART=true
```

O `MAIN=Lavalink.jar` faz a Square Cloud iniciar o servidor com `java -jar Lavalink.jar`, o `MEMORY` é a RAM dele em MB, e o `AUTORESTART=true` o inicia de novo se ele travar (veja [como funciona o auto restart](https://help.squarecloud.app/pt-br/article/como-usar-o-auto-restart-na-square-cloud-mdyj38/)).

## O que vai no ZIP

* `Lavalink.jar`
* `application.yml`
* `squarecloud.app`

Coloque os três arquivos na mesma pasta e compacte-os em um arquivo `.zip` para enviar pelo dashboard.

## Faça o deploy e verifique

### Via dashboard

<Steps>
  <Step title="Acesse a página de upload">
    Acesse a [página de upload](https://squarecloud.app/pt-br/dashboard/new) e envie seu arquivo zip.
  </Step>

  <Step title="Configure seu ambiente">
    Após fazer o upload do seu arquivo zip, você precisará configurar o nome, o arquivo principal ou o ambiente de execução e outras configurações do seu projeto.\
    Se você estiver enviando um projeto web, certifique-se de selecionar "Publicação na Web" e definir um subdomínio para o seu projeto.
  </Step>

  <Step title="Faça o deploy do projeto">
    Por fim, clique no botão "Deploy" para hospedar seu projeto na Square Cloud.
    Após o deploy, você poderá monitorar o status e os registros do seu projeto no dashboard.

    <Frame>
      <img src="https://cdn.squarecloud.app/docs/articles/dashboard/uploading-pt-br.gif" alt="Enviando aplicação para a Square Cloud" style={{ borderRadius: "0.2rem" }} />
    </Frame>
  </Step>

  <Step title="Confirme que seu app está no ar">
    Seu primeiro deploy geralmente leva menos de um minuto. No [dashboard](https://squarecloud.app/pt-br/dashboard), aguarde o status da sua aplicação mudar para em execução e verifique os registros em busca de erros de inicialização.\
    Se você fez deploy de um site ou API, abra `https://<seu-subdominio>.squareweb.app` no navegador: você deve ver sua aplicação respondendo. Se você fez deploy de um bot, envie um comando para confirmar que ele está online.
    <Tip>Seu app não está iniciando? Veja o [guia de solução de problemas](/pt-br/platform/troubleshooting/app-wont-start) para as causas e correções mais comuns.</Tip>
  </Step>
</Steps>

### Via CLI

Para usar esse método, seu projeto precisa de um arquivo de configuração chamado `squarecloud.app` na raiz. Ele informa à Square Cloud como executar a sua aplicação.

<Card title="Guia do arquivo de configuração" icon="link" href="/pt-br/getting-started/config-file">
  Saiba como criar o arquivo de configuração `squarecloud.app` que define o ambiente da sua aplicação.
</Card>

<Steps>
  <Step title="Instale a CLI">
    Instale a [CLI da Square Cloud](/pt-br/cli-reference/installation). Se você já a tem, execute o mesmo comando para atualizá-la:

    <CodeGroup>
      ```bash macOS, Linux e WSL theme={"system"} theme={"system"}
      curl -fsSL https://cli.squarecloud.app/install | bash
      ```

      ```bash Windows com npm theme={"system"} theme={"system"}
      npm install -g @squarecloud/cli@latest
      ```
    </CodeGroup>
  </Step>

  <Step title="Faça login">
    Execute o comando abaixo. Ele abre o seu navegador: aprove o login lá e a CLI está pronta. Não há nenhuma chave de API para copiar. Para scripts e CI, veja [autenticação da CLI](/pt-br/cli-reference/authentication).

    ```bash theme={"system"} theme={"system"}
    squarecloud auth login
    ```
  </Step>

  <Step title="Envie o seu projeto">
    Na pasta do seu projeto, execute o comando abaixo. A CLI compacta a pasta atual, deixando de fora o que o [`squarecloud.ignore`](/pt-br/getting-started/squarecloud-ignore) lista, e faz o upload:

    ```bash theme={"system"} theme={"system"}
    squarecloud upload
    ```

    Para enviar um zip que você mesmo criou, passe-o com `--file`:

    ```bash theme={"system"} theme={"system"}
    squarecloud upload --file <caminho/para/zip>
    ```
  </Step>

  <Step title="Confirme que seu app está no ar">
    Seu primeiro deploy geralmente leva menos de um minuto. Verifique o status e os registros da sua aplicação diretamente pelo terminal:

    ```bash theme={"system"} theme={"system"}
    squarecloud app status
    squarecloud app logs
    ```

    Se você fez deploy de um site ou API, abra `https://<seu-subdominio>.squareweb.app` no navegador: você deve ver sua aplicação respondendo. Se você fez deploy de um bot, envie um comando para confirmar que ele está online.
    <Tip>Seu app não está iniciando? Veja o [guia de solução de problemas](/pt-br/platform/troubleshooting/app-wont-start) para as causas e correções mais comuns.</Tip>
  </Step>
</Steps>

## Conecte o seu bot

O Lavalink escuta na porta `80` dentro da Square Cloud, mas seu bot se conecta pela borda pública, que serve HTTPS na porta `443`. Configure o nó no seu cliente Lavalink assim (os nomes dos campos variam entre bibliotecas):

```javascript theme={"system"}
const node = {
  host: "my-lavalink.squareweb.app", // <subdomain>.squareweb.app
  port: 443,
  password: process.env.LAVALINK_PASSWORD, // a mesma senha do servidor
  secure: true,
};
```

<Warning>
  Desde março de 2026, o Discord só deixa bots entrarem em canais de voz com DAVE, a criptografia de ponta a ponta da voz. O Lavalink tem suporte a partir da versão 4.2.0, e o cliente Lavalink do seu bot também precisa ter: sem isso, o bot conecta ao Lavalink, mas não entra no canal de voz.
</Warning>

## Erros comuns

### O bot não consegue se conectar ao Lavalink

Conectar com a porta `80` ou `secure: false` falha: use a porta `443` e `secure: true`, como mostrado em [Conecte o seu bot](#conecte-o-seu-bot). Se a conexão fechar com o código 1006, veja [Conexão do Lavalink fechada com código 1006](/pt-br/platform/troubleshooting/discord-bot-errors#conexão-do-lavalink-fechada-com-código-1006).

## Próximos passos

<CardGroup cols={3}>
  <Card title="Bot do Discord" icon="discord" href="/pt-br/tutorials/bots/discord">
    Hospede o bot de música que se conecta ao seu servidor Lavalink.
  </Card>

  <Card title="Erros de bot do Discord" icon="triangle-exclamation" href="/pt-br/platform/troubleshooting/discord-bot-errors">
    Corrija tokens inválidos, intents faltando e erros de conexão do Lavalink.
  </Card>

  <Card title="Runtime Java" icon="java" href="/pt-br/articles/getting-started-with-java">
    Como a Square Cloud roda aplicações Java.
  </Card>
</CardGroup>

Para saber mais sobre o Lavalink, consulte a [documentação oficial do Lavalink](https://lavalink.dev/).

## Contate-nos

Se você continuar enfrentando **dificuldades técnicas**, nossa **equipe de suporte especializada** está disponível para auxiliá-lo. [**Entre em contato conosco**](https://squarecloud.app/pt-br/support) e teremos prazer em ajudá-lo a resolver qualquer questão: a qualidade do suporte é uma grande parte do motivo pelo qual desenvolvedores avaliam a Square Cloud com [**4,9/5 em 402 avaliações**](https://www.trustpilot.com/review/squarecloud.app) no Google e Trustpilot.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.