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"
oports: - "8071:8069"
e assim por dianteimage: 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
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.
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.
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 xlsxwrite
r 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.
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.
O selênio não é para raspar, é para raspar. Apenas o scraping do alcaro XD é apenas para leitura de dados.
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.
É possível instalá-lo em um Raspberry pi com Ubuntu Mate?
Se possível querida, vamos ver se com um tempinho consigo fazer um tutorial sobre o assunto
isso seria excelente, tenho vários PIs pegando poeira
E preciso de um para teste 🙁
Como faço o download em espanhol? Portanto, o aplicativo está em espanhol, e se houver para Windows?
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)
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.
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
Você poderia me ajudar a encontrar o caminho dos addons, estou em um mac? Muito obrigado
Como seria instalar a versão corporativa?
Olá, como seria se eu precisasse atualizar um módulo que estou programando do terminal?