Base de Conhecimento

Metabase na VPS: como instalar com Docker e PostgreSQL

  • metabase na vps, metabase, bi, docker, vps
  • Usuários acharam útil: 0

Aprenda a instalar o Metabase no seu servidor com Docker, usar o PostgreSQL como banco de aplicação, ligar o HTTPS, atualizar e fazer backup com segurança.

Por Redação Eleven Host · @robson.direitodigital · 1 de novembro de 2026 · 7 min de leitura

Arte da Eleven Host: janela de terminal com o título: Metabase na VPS: como instalar com Docker e PostgreSQL

Capa da Redação Eleven Host para o guia: Metabase na VPS: como instalar com Docker e PostgreSQL Arte: Eleven Host

O Metabase na VPS é a edição Open Source do Metabase, com licença AGPL, instalada em Docker no seu servidor. Ela roda na porta 3000 e, depois de instalada, você a conecta ao seu banco de dados.

O que é o Metabase na VPS

Depois de instalado, o Metabase é configurado e conectado ao seu banco de dados, segundo a documentação.

Com o Metabase na sua VPS, você escolhe o banco de aplicação e decide onde guardar os dados do próprio Metabase.

Ao hospedar você mesmo, a atualização, o backup e a proteção do acesso passam a ser com você. Se está conhecendo servidores agora, leia antes o guia de iniciantes sobre servidor VPS.

Edição Open Source ou paga

Segundo o README do projeto, a edição Open Source do Metabase é distribuída sob a licença AGPL. As edições comerciais usam a Metabase Commercial Software License.

No Docker, a diferença aparece na imagem: metabase/metabase é a Open Source, e metabase/metabase-enterprise é para quem tem um token de licença das versões Pro ou Enterprise. Aqui usamos a edição Open Source. Para saber o que cada edição inclui e quanto custa, consulte o site do Metabase.

Antes de começar

Separe estas coisas:

  • Uma VPS com o Docker instalado.
  • Um banco PostgreSQL criado por você para o Metabase guardar a própria configuração. A documentação avisa que o Metabase não cria esse banco por você.
  • Um domínio ou subdomínio para o painel, por exemplo metabase.exemplo.com, apontado para o IP da VPS.

A documentação cobre o Metabase na versão 0.65. A documentação não informa requisitos de memória nem de processador, então teste com os seus dados e acompanhe o consumo do servidor.

Subir o Metabase com docker run

O início rápido da documentação, para a edição Open Source, usa estes dois comandos:

docker pull metabase/metabase:latest

docker run -d -p 3000:3000 --name metabase metabase/metabase

Quando a inicialização termina, o Metabase fica na porta 3000 do servidor, em http://localhost:3000. Para usar outra porta no servidor, mude o número da esquerda, como em -p 12345:3000.

Esse início rápido serve para conhecer a ferramenta, mas tem uma limitação importante: o Metabase vem com um banco H2 embutido, que guarda os dados dele no sistema de arquivos do contêiner. Segundo a documentação, se você remover o contêiner, perde os dados do Metabase.

Está escolhendo uma VPS? VPS a partir de R$ 17,00/mês no Plano Bronze; confira na loja o que cada plano inclui. Ver os planos de VPS

Banco de aplicação: troque o H2 pelo PostgreSQL

Sobre o H2, a documentação é direta: evite usar esse banco padrão em produção. Para instalações de produção, ela recomenda trocar o H2 pelo PostgreSQL.

Com um banco PostgreSQL já criado, suba o contêiner assim, trocando os valores de exemplo (name, password e my-database-host) pelos seus:

docker run -d -p 3000:3000 \

-e "MB_DB_TYPE=postgres" \

-e "MB_DB_DBNAME=metabaseappdb" \

-e "MB_DB_PORT=5432" \

-e "MB_DB_USER=name" \

-e "MB_DB_PASS=password" \

-e "MB_DB_HOST=my-database-host" \

--name metabase metabase/metabase

Como a conexão sai de dentro do contêiner, o MB_DB_HOST precisa ser um nome completo que o contêiner consiga resolver, ou estar no arquivo /etc/hosts dele. A documentação também aceita a variável MB_DB_CONNECTION_URI, com uma string JDBC completa, quando você precisa de parâmetros extras.

Se por enquanto você ficar no H2, guarde o arquivo fora do contêiner, num diretório do servidor:

docker run -d -p 3000:3000 \

-v ~/metabase-data:/metabase-data \

-e "MB_DB_FILE=/metabase-data/metabase.db" \

--name metabase metabase/metabase

Sobre a porta, -p 3000:3000 publica o painel em todas as interfaces do servidor. Nossa sugestão é usar -p 127.0.0.1:3000:3000 e colocar um proxy com HTTPS na frente.

Antes de seguir, confira o banco

  • O H2 embutido não é indicado para produção.
  • Criei o banco PostgreSQL antes de subir o contêiner.
  • Troquei name, password e my-database-host pelos meus valores.
  • O MB_DB_HOST é um nome que o contêiner resolve.

Primeiro acesso

Com o contêiner no ar, abra o Metabase pelo endereço configurado. Depois de instalar, o próximo passo, segundo a documentação, é configurar o Metabase e conectá-lo ao seu banco de dados. Cadastre os bancos que você quer consultar.

Nossa recomendação é fazer a configuração inicial você mesmo, antes de divulgar o endereço a outras pessoas, e deixar o acesso externo para depois do HTTPS.

HTTPS com um proxy reverso

Para abrir o painel em https://metabase.exemplo.com (com o seu domínio), coloque um proxy reverso na frente da porta 3000. Ele cuida do certificado e encaminha o acesso para o Metabase.

O guia Nginx Proxy Manager: vários sites numa VPS só mostra um painel para isso. Se preferir um servidor web com certificado automático, veja o Caddy na VPS. Se quiser medir também as visitas do seu site, o guia Umami na VPS trata desse assunto.

Atualizar o Metabase

A documentação de atualização manda parar o contêiner atual, puxar a imagem nova e subir de novo. Ela recomenda usar uma etiqueta de versão específica no lugar de latest. Para recriar o contêiner com o mesmo nome, é preciso remover o antigo:

docker stop metabase

docker rm metabase

docker pull metabase/metabase:latest

Depois, rode de novo o mesmo comando com as variáveis MB_DB_* que você usou na instalação. Segundo a documentação, o Metabase faz a atualização do banco dele automaticamente.

Antes de atualizar, faça backup. A documentação diz que isso traz tranquilidade, porque, para voltar a uma versão anterior, o caminho geral é restaurar um backup; sem ele, o Metabase pode se recusar a iniciar. Se a sua instalação é antiga, anterior à versão 40, a documentação manda atualizar versão por versão até a 40 antes de seguir.

Como fazer o backup

Com o PostgreSQL como banco de aplicação, siga as instruções do próprio PostgreSQL para copiar o banco. Se você ficou no H2, a documentação mostra este comando para copiar o arquivo de dentro do contêiner:

docker cp metabase:/metabase.db/metabase.db.mv.db ./

Para uma cópia consistente, recomendamos parar o contêiner antes de copiar; no caso do arquivo JAR, a documentação manda parar o processo. Guarde a cópia fora da VPS.

Existe ainda o caminho com o arquivo JAR, sem Docker, que recomenda o Java 25 da distribuição Eclipse Temurin e roda na porta 3000. A própria documentação recomenda o Docker para quem hospeda por conta própria.

Checklist do Metabase

  • Usei o PostgreSQL como banco de aplicação, não o H2.
  • Publiquei a porta como 127.0.0.1:3000:3000 e coloquei um proxy com HTTPS na frente.
  • Fiz o primeiro acesso e cadastrei o meu banco de dados.
  • Fixei uma etiqueta de versão da imagem em vez de latest.
  • Faço backup do banco do Metabase antes de atualizar.
  • Guardo a cópia fora da VPS.

Antes de escolher o servidor

Rodar o Metabase você mesmo dá controle sobre onde fica a configuração. Em troca, você cuida do banco de aplicação, das atualizações e do acesso.

Quer conhecer a VPS da Eleven Host? VPS a partir de R$ 17,00/mês no Plano Bronze; confira na loja o que cada plano inclui. Conhecer a VPS

Perguntas frequentes

O Metabase é gratuito?

A edição Open Source é distribuída sob a licença AGPL, segundo o README. As edições comerciais têm outra licença e exigem um token. Consulte o site do Metabase para valores.

Posso usar o H2 em produção?

Não é indicado. A documentação diz para evitar o H2 em produção e recomenda o PostgreSQL.

O Metabase cria o banco PostgreSQL sozinho?

Não. Segundo a documentação, você precisa criar o banco antes e informar os dados de conexão nas variáveis MB_DB_*.

Perco os dados se remover o contêiner?

No H2 embutido sem volume, sim, a documentação avisa que os dados do Metabase se perdem. Com o PostgreSQL como banco de aplicação, os dados ficam no banco.

Em qual porta o Metabase abre?

Na 3000, nos exemplos da documentação. Para usar outra porta no servidor, mude o número da esquerda no -p.

Esta resposta lhe foi útil?

Artigos Relacionados