Metabase na VPS: como instalar com Docker e PostgreSQL
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

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,passwordemy-database-hostpelos 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:3000e 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.