Base de Conhecimento

Odoo na VPS: como instalar o ERP com Docker

  • odoo na vps, odoo, erp, docker, postgresql
  • Usuários acharam útil: 0

Veja como instalar o Odoo numa VPS com Docker, do banco PostgreSQL ao proxy com HTTPS, com senha mestra, workers e backup do banco e dos arquivos.

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

Arte da Eleven Host: janela de terminal com o título: Odoo na VPS: como instalar o ERP com Docker

Capa da Redação Eleven Host para o guia: Odoo na VPS: como instalar o ERP com Docker Arte: Eleven Host

Dá para instalar o Odoo na VPS com Docker: o Odoo é um sistema de gestão (ERP) de código aberto, e a instalação usa um contêiner de PostgreSQL e um do Odoo. Depois, você coloca um proxy com HTTPS na frente e define uma senha mestra forte.

O que é o Odoo e a diferença entre Community e Enterprise

O Odoo é um sistema de gestão empresarial. A edição Community é licenciada sob a LGPL versão 3, e a Enterprise usa a Odoo Enterprise Edition License v1.0, segundo a página de licenças da documentação oficial. Para decidir entre elas, veja o site do Odoo.

Há um caminho documentado de migração da Community para a Enterprise. Todo método começa com um backup do banco de dados, depois instala o módulo web_enterprise e, por fim, vincula o banco à assinatura Enterprise com o código recebido por e-mail.

Este guia usa a imagem oficial do Odoo no Docker Hub e a documentação de implantação da versão 18.0.

O que você precisa antes de começar

Você vai precisar de uma VPS com o Docker instalado e de um domínio apontado para o IP do servidor, para ativar o HTTPS no fim. Se ainda não tem clareza sobre o que é uma VPS, leia o guia de iniciantes sobre servidor VPS. Acompanhe o consumo do servidor depois da instalação e ajuste o plano de VPS se for preciso.

A imagem oficial exige um servidor PostgreSQL em execução, e é por isso que o primeiro contêiner é o do banco de dados.

Fixe a versão do Odoo na instalação. A tag latest hoje aponta para a versão 20, e trocar de versão principal exige scripts de migração: não adianta só baixar uma imagem nova.

Subir o PostgreSQL e o Odoo

O Docker Hub traz estes dois comandos. O primeiro sobe o PostgreSQL:

docker run -d -e POSTGRES_USER=odoo -e POSTGRES_PASSWORD=odoo -e POSTGRES_DB=postgres --name db postgres:15

O segundo sobe o Odoo na porta 8069:

docker run -p 8069:8069 --name odoo --link db:db -t odoo

Esses comandos são o ponto de partida do Docker Hub e precisam de ajustes para uso real:

  • Troque a senha do banco. O exemplo usa odoo como usuário e como senha. A documentação do Odoo diz para não usar senhas padrão do tipo admin/admin, nem em bancos de teste. Se mudar a senha do PostgreSQL, informe a nova ao Odoo pela variável PASSWORD. As variáveis HOST (padrão db), PORT (padrão 5432), USER (padrão odoo) e PASSWORD (padrão odoo) controlam a conexão.
  • Fixe a versão. No lugar de odoo no fim do comando, use uma tag, como odoo:18.0. As tags 18.0, 19.0 e 20.0 existem no Docker Hub.
  • Use volumes. Sem um volume nomeado, o filestore (os anexos) se perde quando o contêiner é removido. Monte um volume em /var/lib/odoo, que precisa coincidir com o data_dir. O banco também precisa de volume, e o comando do Docker Hub não traz um.
  • Entenda o --link. É um recurso legado do Docker. O exemplo de compose.yaml do Docker Hub, mostrado abaixo, é o caminho com o Docker Compose.

O Docker Hub também mostra um exemplo de compose.yaml com dois serviços, web (Odoo, porta 8069:8069) e db (PostgreSQL 15), que sobe com este comando:

docker compose up -d

O exemplo do Docker Hub fixa o odoo:17.0. Troque pela versão que você escolheu.

Primeiro acesso e criação do banco

Com os contêineres no ar, abra o Odoo no navegador pela porta 8069, usando o IP da VPS. Na primeira tela, o Odoo pede a criação do banco de dados; siga as instruções que aparecem. A senha mestra, tratada mais abaixo, protege as telas de gerenciamento de bancos.

Atenção a um ponto: nessa etapa o Odoo ainda está sem HTTPS, e a documentação alerta que ele transmite as informações de autenticação em texto claro. Use esse acesso só para a configuração inicial e passe logo para a próxima etapa, antes de cadastrar usuários e dados reais. Para saber o que está aberto no servidor, veja o guia Portas abertas no Linux: como ver com ss e lsof na VPS.

Onde rodar o Odoo

Nos comandos acima, o Odoo e o PostgreSQL ficam no mesmo servidor, cada um no seu contêiner.

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

Proxy reverso e HTTPS

A documentação é direta: uma implantação segura do Odoo deve usar HTTPS, e o proxy que termina o SSL também deve redirecionar as conexões sem criptografia para a porta segura. Quando o Odoo roda atrás de um proxy reverso, ative no arquivo de configuração:

proxy_mode = True

A própria documentação diz que essa opção só deve ficar ligada quando o Odoo está atrás de um proxy reverso. O exemplo de Nginx da documentação usa listen 443 ssl; e um server_name do seu domínio. Ele também define um upstream chamado odoochat, apontando para 127.0.0.1:8072, para o caminho /websocket.

No exemplo da documentação, a porta 8072 é a do processo de LiveChat. Em modo multiprocesso, a documentação diz que um worker dedicado de LiveChat é iniciado automaticamente e escuta na porta definida em --gevent-port.

Se preferir um servidor web com HTTPS automático, o guia Caddy na VPS: servidor web com HTTPS automático mostra outro caminho para o proxy. Com o proxy funcionando, o Odoo não precisa mais ficar exposto diretamente na porta 8069 para a internet.

Senha mestra, lista de bancos e dbfilter

Três configurações protegem o gerenciador de bancos do Odoo:

  • admin_passwd. As telas de gerenciamento de bancos são protegidas por essa opção. A documentação diz que ela deve ser trocada do valor padrão admin e definida como um valor gerado aleatoriamente, para que terceiros não usem a interface.
  • list_db. Com list_db = False, o Odoo desativa o gerenciador de bancos. A documentação recomenda fortemente desativá-lo em sistema exposto à internet. Com a senha mestra fraca, o gerenciador permite apagar ou baixar o banco pela web.
  • dbfilter. Define quais bancos cada acesso enxerga. Os exemplos da documentação são dbfilter = ^mycompany.*$ e dbfilter = ^%d$. Em servidor com vários bancos, principalmente com o módulo de site, a documentação diz que o dbfilter precisa ser definido.

O arquivo de configuração padrão da imagem é /etc/odoo/odoo.conf, e você pode montar um diretório em /etc/odoo para usar o seu.

Workers e desempenho

O modo multiprocesso do Odoo é opcional: ele é ativado definindo a opção --workers com um número inteiro diferente de zero. A documentação traz uma regra prática: (número de CPUs x 2) + 1, e cerca de 1 worker para 6 usuários simultâneos. Ela também avisa que os workers de cron consomem CPU. Use esses números como ponto de partida e ajuste olhando o consumo real do servidor.

Sobre o banco, a documentação lembra que o PostgreSQL só aceita, por padrão, conexões por socket UNIX e por loopback. O comando do banco acima não publica a porta 5432 para fora; mantenha assim.

Backup do banco e dos arquivos

O Odoo guarda duas coisas que precisam de backup: o banco de dados PostgreSQL e o filestore, que fica em /var/lib/odoo. Copiar só um dos dois deixa a restauração incompleta, porque os anexos ficam fora do banco.

Por isso os volumes do passo anterior importam. Com o volume do filestore e o volume do PostgreSQL definidos, você sabe o que copiar. Agende a rotina e teste a restauração num servidor separado, antes de depender dela. Para compactar os arquivos antes de guardá-los, o guia Comando tar: como compactar e extrair arquivos na VPS ajuda.

Checklist de produção

  • Versão do Odoo fixada em uma tag, sem latest.
  • Senha do PostgreSQL trocada e informada ao Odoo.
  • Volumes para o banco e para /var/lib/odoo.
  • Proxy reverso com HTTPS e redirecionamento do tráfego sem criptografia.
  • proxy_mode = True ativado, só por trás do proxy.
  • admin_passwd trocada por um valor aleatório.
  • list_db = False e dbfilter definidos.
  • Porta 8069 e porta do banco fechadas para a internet.
  • Backup do banco e do filestore agendado, com restauração testada.

Quer o seu ERP rodando num servidor só seu? 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

É possível instalar o Odoo numa VPS?

Sim. Com o Docker, você sobe um contêiner de PostgreSQL e um do Odoo e depois configura o proxy com HTTPS.

Qual porta o Odoo usa?

A porta 8069 é a do acesso web nos comandos do Docker Hub. O LiveChat usa a 8072 no exemplo de Nginx da documentação.

Posso usar a tag latest do Odoo?

Evite em produção. Hoje a tag latest aponta para a versão 20, e trocar de versão principal exige scripts de migração.

Preciso de HTTPS para usar o Odoo?

A documentação diz que uma implantação segura deve usar HTTPS, porque o Odoo transmite as informações de autenticação em texto claro.

Como proteger o gerenciador de bancos?

Troque o admin_passwd por um valor aleatório e use list_db = False para desativar o gerenciador.

Esta resposta lhe foi útil?

Artigos Relacionados