Doodba - Escodoo/escodoo.github.io GitHub Wiki

Doodba

Preparando Host

Guia para Sistemas Operacionais baseados em debian/ubuntu

sudo apt update
sudo apt upgrade

Instalando docker e docker-compose

sudo apt install apt-transport-https ca-certificates curl software-properties-common
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
sudo echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt update
sudo apt-cache policy docker-ce
sudo apt install docker-ce docker-compose python3-pip python3-venv

Instalando requisitos para utilizar Doodba

python3 -m pip install --user pipx
export PATH=$PATH:/home/escodoo/.local/bin
pipx install invoke
pipx install pre-commit
pipx install copier
pipx ensurepath

Se seu usuário não for o root, execute a linha abaixo e reinicie a maquina.

sudo usermod -aG docker $(whoami)

Rodando o Copier

Versão Escodoo 14.0 com bibliotecas e repositórios para rodar com a localização brasileira

copier copy https://github.com/Escodoo/doodba-copier-template /path/project_name --UNSAFE 

Versão Original da Tecnativa sem bibliotecas e repositórios para rodar com a localização brasileira

copier copy https://github.com/tecnativa/doodba-copier-template /path/project_name --UNSAFE

Exemplo domains_prod e domains_test

domains_prod:
-   cert_resolver: le
    entrypoints:
    - websecure
    hosts:
    - escodoo.com.br
    - www.escodoo.com.br
    redirect_to: escodoo.com.br
domains_test:
-   hosts:
    - test1.escodoo.com.br
    - test2.doodba.escodoo.com.br

Iniciando Ambiente de Desenvolvimento

cd /path/project_name

Preparando ambiente develop

invoke develop

Observação: ao rodar este comando observe é gerado um link simbólico para o arquivo devel.yaml com o nome docker-compose.yml.

image

Preparando build da imagem

invoke img-build

Preparando código fonte do projeto

invoke git-aggregate

Preparando banco de dados devel

invoke preparedb

Caso já tenha o banco devel, é possivel reiniciar o mesmo usando o invoke resetdb antes do invoke preparedb.

Instalando módulos localização brasileira

invoke install -m l10n_br_setup_tests

ou

docker-compose run odoo -i l10n_br_setup_tests --stop-after-init

ou

docker-compose -f devel.yaml run odoo -i l10n_br_setup_tests --stop-after-init

Iniciando Serviço

invoke start

Acessando os Serviços

Para acessar os serviços, informe a URL correspondente. Note que a numeração da porta varia conforme a versão do Odoo. Por exemplo, para a versão 14.0 do Odoo, a porta é 14069; já para a versão 16.0, a porta é 16069.

Backups

Backups are only available in the production environment. They are provided by docker-duplicity. The structure of the backed up folder:

├── prod.sql
└── odoo/
    ├── addons/
    └── filestore/
        └── prod/
            ├── ...
            └── ...

To make backup immediatly execute following command:

# Executes all jobs scheduled for daily run.
# With default configuration it's equal to making full backup
docker-compose -f prod.yaml exec backup /etc/periodic/daily/jobrunner

To restore backup:

# stop odoo if it's running
docker-compose -f prod.yaml stop odoo

# start backup and db
docker-compose -f prod.yaml up -d backup

# switch to some version
docker-compose -f prod.yaml exec backup restore --time TIME_IN_BACKUP_NAME --force

# ⚠️ DELETE PRODUCTION database
docker-compose -f prod.yaml exec backup dropdb DATABASENAME

# create new empty database
docker-compose -f prod.yaml exec backup createdb DATABASENAME

# restore database
docker-compose -f prod.yaml exec backup sh -c 'psql -f $SRC/$PGDATABASE.sql'

# start odoo
docker-compose -f prod.yaml up -d

Solucionando Problemas