Como instalar Odoo com docker e adicionar módulos externos

No artigo Passo a passo para configurar um ERP e CRM para o seu SME Ensinamos como rodar uma máquina virtual que tinha uma instalação Odoo 8 pré-configurada, o que nos permitiu desfrutar deste ERP de forma simples e rápida, desta vez queremos entrar no mundo do Docker e instalar o Odoo usando esta grande tecnologia.

Basicamente com este tutorial você aprenderá como instalar o Odoo com docker e adicionar módulos externos que permitirão melhorar e estender as funcionalidades do Odoo. Graças ao docker, você pode ter qualquer versão do Odoo no mesmo computador e ter várias instâncias em execução, o que facilitará o desenvolvimento e a inicialização a qualquer momento, em qualquer organização e principalmente em qualquer ambiente.

O procedimento é bastante simples, mas tentarei torná-lo o mais detalhado possível, as etapas e procedimentos serão focados em distros com Ubuntu 16.04 mas podem ser facilmente aplicados em qualquer distro Linux.

Etapas para instalar o Docker e o Docker Compose

Instale o Docker

Para instalar o Docker no Ubuntu, basta executar o seguinte comando:

sudo apt-get install docker.io

Adicione seu usuário ao grupo Docker

Devemos executar o seguinte comando:

sudo gpasswd -a ${USER} docker

Instale o Docker-compose

A maneira mais fácil de instalar o Docker-ompose é usando pip. Para fazer isso, execute o seguinte comando:

pip install docker-compose

Instale o Docker-engine

Instale o docker-engine com o seguinte comando:

sudo curl -sSL https://get.docker.com/ | sh

Reiniciar o Docker

Para que todas as alterações sejam feitas corretamente, é conveniente reiniciar o docker usando:

sudo service docker restart

Criando nosso arquivo docker-compose.yml

Depois de instalar o docker, devemos criar o arquivo docker-compose.yml No diretório de nossa preferência, conterá basicamente todas as informações necessárias para implantar nosso serviço com Odoo.

nano docker-compose.yml

Este arquivo conterá o seguinte:

versão: '2' serviços: odoo: imagem: odoo: 8 reiniciar: sempre portas: - links "8069: 8069": - volumes db: - ./extra-addons:/mnt/extra-addons db: imagem: postgres: 9.4 reiniciar: sempre ambiente: - POSTGRES_USER = odoo - POSTGRES_PASSWORD = odoo

Neste arquivo, podemos fazer as seguintes alterações para adaptá-lo aos nossos requisitos:

  • image: odoo:8 : Você pode substituir odoo: 8 pela versão de que precisa odoo: 9, odoo: 10, odoo11 ou apenas odoo: mais recente para a versão mais recente disponível.
  • ports: - "8069:8069" : Substitua a primeira porta pela porta desejada, isso o ajudará a ter várias instâncias do odoo rodando ao mesmo tempo, por exemplo, pode ser assim, ports: - "8070:8069"ports: - "8071:8069" e assim por diante
  • image: postgres:9.4 : Você também pode substituir a imagem do postgres que deseja usar, particularmente esta versão me cai muito bem.

Em linhas gerais com este docker-compose.yml Invocamos um conjunto de contêineres que estão relacionados entre si, como o contêiner da versão odoo e o contêiner postgres, da mesma forma para o primeiro contêiner informamos que ele ouvirá a porta 8069 (e poderá acessar a que indicamos) e além disso, um volume local denominado extra-addons é montado, o qual será vinculado automaticamente ao / mnt / extra-addons no contêiner odoo.

Por fim, descreve-se o nome de usuário e a senha a serem usados ​​no postgres e determina-se que, quando o computador convidado reiniciar o serviço docker, ele também reiniciará, graças ao parâmetro restart: always.

Configuração inicial Odoo

Depois de criarmos nosso docker-compose.yml, devemos iniciar a instância Odoo, para fazer isso do terminal vamos para o diretório onde está o arquivo criado anteriormente e executamos:

docker-compose up -d

O download dos contêineres docker necessários começará automaticamente, o banco de dados será iniciado e poderemos acessar nossa instância do odoo a partir de localhost:8069 ou a porta que você especificou. Uma vez nele, teremos que criar nosso banco de dados, para o qual devemos escolher o e-mail, senha de acesso, idioma e idioma, além de selecionar se queremos importar dados de teste para avaliar Odoo.

Uma vez que o banco de dados é criado, podemos acessar o odoo e começar a desfrutar de seus benefícios.

Adicionando módulos externos ao Odoo

El docker-compose.yml que criamos nas etapas anteriores, além de aumentar as imagens odoo e postgres necessárias, também cria um volume em nosso diretório para poder adicionar módulos externos à nossa instância. Para isso, basta copiarmos um módulo compatível com a versão do odoo que executamos nesse diretório, você pode adicionar seus próprios módulos ou baixá-lo do Aplicativos Odoo.

Assim que tivermos nosso módulo no diretório extra-addons (descompactado) que está no diretório onde temos nosso docker-compose.yml, passamos a dar a ele as permissões correspondentes para que ele possa ser lido por nosso docker. A maneira mais simples é que, localizado no diretório pai de extras-addons, executamos os seguintes comandos no terminal:

sudo chown -R lizard: lizard extra-addons / #substitua lizard com seu usuário sudo chmod -R 755 extra-addons /

Agora, a partir de nossa instância do odoo, devemos ativar o modo de desenvolvedor que, dependendo da versão do odoo que você possui, pode ser feito da seguinte maneira:

Ative o modo de desenvolvedor no Odoo 8

O modo de desenvolvimento no Odoo 8 é ativado a partir dos Perfis de usuário, para isso, a partir do menu, acesse a categoria Usuário, localize seu usuário administrador e no canto inferior direito ative as características

modo de desenvolvedor em odoo 8

Ative o modo de desenvolvedor no Odoo 9

No Odoo 9 vá para o canto superior direito e clique na data que está ao lado da foto do perfil do usuário, vá até a opção Sobre e na janela que abrir selecione Ative o modo de desenvolvedor.

modo de desenvolvedor em odoo 9

Ative o modo de desenvolvedor no Odoo 10 e Odoo 11

Para ativar o modo de desenvolvedor no Odoo 10 e 11 devemos ir ao menu Configurações e no canto inferior direito clicar em Ative o modo de desenvolvedor.

modo de desenvolvedor em odoo 10

modo de desenvolvedor em odoo 11

Finalmente, em qualquer uma das versões devemos ir ao menu de módulos locais ou aplicativos e clicar no link para atualizar a lista de módulos, e então você pode instalar os módulos conforme explicado no artigo sobre Como instalar módulos no Odoo.

Instalando pacotes em nosso docker

Pode ser o caso de que qualquer um dos módulos ou utilitários que você deseja incorporar no odoo (ou um recurso do próprio odoo) precise da instalação de pacotes externos, isso pode ser feito facilmente no docker graças ao docker exec que é um utilitário que nos permite executar comandos em um contêiner docker.

A primeira coisa que precisamos saber é o nome de nossa instância docker, que é feita com o seguinte comando:

docker ps

Para instalar um aplicativo como root em um docker, devemos executar o seguinte comando adaptando-o às suas necessidades:

docker exec -u root odoo9_odoo_1 pip install xlsxwriter

onde docker exec -u root odoo9_odoo_1  indica que um comando será executado como root na instância odoo9_odoo_1 e pip install xlsxwriter seria o comando que você deseja executar.

Finalmente, gostaria de compartilhar vários comandos que serão úteis ao trabalhar com docker-composer

# É executado a partir do diretório de uma instância docker e para o docker-compose que está executando docker-composer stop # É executado a partir do diretório de uma instância docker e inicia docker-compose docker-composer start # Parar todos os contêineres docker stop $ (docker ps -a -q) # Exclua todos os contêineres docker rm $ (docker ps -a -q) # Exclua todas as imagens docker rmi $ (docker images -q)

Espero que o tutorial seja do seu agrado, em artigos futuros começaremos a aprender a usar o Odoo e a configurá-lo em nossas PME.


Deixe um comentário

Seu endereço de email não será publicado. Campos obrigatórios são marcados com *

*

*

  1. Responsável pelos dados: Miguel Ángel Gatón
  2. Finalidade dos dados: Controle de SPAM, gerenciamento de comentários.
  3. Legitimação: Seu consentimento
  4. Comunicação de dados: Os dados não serão comunicados a terceiros, exceto por obrigação legal.
  5. Armazenamento de dados: banco de dados hospedado pela Occentus Networks (UE)
  6. Direitos: A qualquer momento você pode limitar, recuperar e excluir suas informações.

  1.   Projeto de lei dito

    Tutorial magnífico, vamos ver se consigo encontrar tempo para colocá-lo em prática: tanto Odoo quanto Docker parecem muito interessantes. Por enquanto estou ocupado para ver se aprendo algo sobre web scraping usando rstudio e um docker Selenium-Firefox, algo para explorar DesdeLinux.

    1.    json dito

      O selênio não é para raspar, é para raspar. Apenas o scraping do alcaro XD é apenas para leitura de dados.

      1.    Guille dito

        Bem, estou tentando aprender como ler dados de webs e colocá-los em uma tabela ou tabelas estruturadas para manipular mais tarde. De acordo com a Wikipedia:
        Web scraping é uma técnica usada por programas de software para extrair informações de sites. Normalmente, esses programas simulam a navegação de um ser humano na World Wide Web usando o protocolo HTTP manualmente ou incorporando um navegador a um aplicativo.
        Wrapper em mineração de dados é um programa que extrai o conteúdo de uma determinada fonte de informação e o traduz em uma forma relacional. [1] Muitas páginas da web apresentam dados estruturados - listas telefônicas, catálogos de produtos, etc. formatado para navegação humana usando linguagem HTML.
        Pode ser mais wrapper porque são informações estruturadas em tabelas, sim. É muito interessante.

  2.   vistor dito

    É possível instalá-lo em um Raspberry pi com Ubuntu Mate?

    1.    Lagarto dito

      Se possível querida, vamos ver se com um tempinho consigo fazer um tutorial sobre o assunto

      1.    Ameaçar dito

        isso seria excelente, tenho vários PIs pegando poeira

        1.    Lagarto dito

          E preciso de um para teste 🙁

  3.   anônimo dito

    Como faço o download em espanhol? Portanto, o aplicativo está em espanhol, e se houver para Windows?

    1.    Lagarto dito

      Ao criar a base de dados pode escolher o idioma da sua preferência, caso funcione também no Windows (tem instalador da página do odoo)

  4.   vencedor dito

    Olá, estou tentando instalá-lo em um Raspberry pi 3 e executando o script do Docker:
    docker-compose up -d

    Eu obtenho o seguinte erro:

    ERROR: nenhum manifesto correspondente para linux / arm nas entradas da lista de manifestos.

    Obrigado.

  5.   Jesus dito

    O tutorial é muito bom, obrigado, e como o resto das instâncias seriam instaladas, não está muito claro para mim, você tem que colocar mais no arquivo docker-compose.yml, obrigado

  6.   Jaramillo Brayhan dito

    Você poderia me ajudar a encontrar o caminho dos addons, estou em um mac? Muito obrigado

  7.   Gonzalo dito

    Como seria instalar a versão corporativa?

  8.   Danilo dito

    Olá, como seria se eu precisasse atualizar um módulo que estou programando do terminal?