Historico_13/07/2020
O conteúdo desta página foi copiada do arquivo colaborativo de configuração do ambiente de desenvolvimento Athenas para a Data Grupo. O conteúdo é referente à data de alteração de 21:51 do dia 13/07/2020. Para encontrar a versão mais atualizada deste passo a passo, recomendamos acessar sempre o link do arquivo que é colaborativo entre os colaboradores da Data Grupo. https://drive.google.com/file/d/1u1uXfkn5i0xMgQFvZVvJ3htULInsvnje/view?usp=sharing
INSTALAÇÃO AMBIENTE ATHENAS – LINUX
Instalando pacotes básicos
$ sudo apt update
$ sudo apt install curl git sqlite3 postgresql-client -y
Crie um diretório no home
$ mkdir ~/athenas
$ cd ~/athenas
$ sudo chown <user>.<group> ~/athenas -R
Instale o Docker Engine Community:
Instale:
$ curl -fsSL https://get.docker.com -o get-docker.sh
$ sudo sh get-docker.sh
Verifique a instalação:
$ docker –v
$ service docker status
Adicione o seu usuário ao grupo “docker”
$ sudo usermod -aG docker $(whoami)
$ sg docker
Inicialize o Swarm
$ docker swarm init
Obs: Caso tenho mais de uma placa de rede precisará especificar onde será iniciado o swarm
$ docker swarm init --advertise-addr “seu ip”
Instalando o Portainer
$ docker run -d -p 9090:9000 --name=portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer
Configurando o watches
$ sudo bash -c "echo user.max_inotify_watches = 65535 >> /etc/sysctl.d/99-athenas.conf"
$ sudo sysctl -w user.max_inotify_watches=65535
Configurar hosts
Abra o arquivo host
$ sudo nano /etc/hosts
Insiro no final do arquivo
10.1.1.1 palas.mpmt.mp.br
10.1.1.1 aegis.mpmt.mp.br
Clonar projeto athenas:
Criar token
Faça **[login](https://palas.mpmt.mp.br:3443/)** no GitLab do MPTO;
Clique na sua foto de perfil;
Clique em **Settings**;
Na barra de navegação à esquerda clique em **Access Tokens**;
No campo **Name** forneça um nome para o token;
Em **Scopes** marque as opções **read_repository** e **write_repository**;
Clique no botão **Create personal access token**;
execute o código abaixo para criar o arquivo de token na pasta ~/athenas
$ echo “SEU-TOKEN” > ~/athenas/token
Baixe o projeto do repositório para a sua máquina com o git clone
$ cd ~/athenas
$ git clone https://oauth:<SEU-TOKEN>@palas.mpmt.mp.br:3443/mpmt/athenas-project.git
Copie o token para a pasta do projeto clonado
$ cp ~/athenas/token ~/athenas/athenas-project/token
Configurar variáveis de ambiente
Abra o arquivo bashrc
$ gedit ~/.bashrc
Insiro no final do arquivo
# configurações para o Athenas
export GITLAB_HOST='palas.mpmt.mp.br:3443'
export GITLAB_GROUP='mpmt'
export IMGHUB_REPO='aegis.mpmt.mp.br:6443/mpmt'
Carrega as modificação
$ . ~/.bashrc
Baixando as imagens docker
$ docker pull $IMGHUB_REPO/athenas:unstable
$ docker pull $IMGHUB_REPO/athenas:single
Crie o arquivo requirements.dev dentro de athenas-project/src com o conteúdo Deprecated
$ cd ~/athenas/athenas-project
$ mkdir src
$ echo Deprecated > ~/athenas/athenas-project/src/requirements.dev
Editar arquivo imp_dev.yml
Abra o arquivo athenas/athenas-project/composse.d/imp_dev.yml
Colocar a palavra configure após o command: dos serviços: daphne, celery, flower e minifier. Exemplo:
...
daphne:
stop_signal: SIGINT
image: ${IMGHUB_REPO}/athenas:single
deploy:
resources:
limits:
memory: 1G
command: configure daphne
…
Rodar o init.sh para criar a stack e iniciar os serviços novamente, certifique-se de desconectar a VPN
$ cd ~/athenas/athenas-project
athenas/athenas-project$ ./init.sh athenas imp_dev
Agora com o banco de dados no ar, crie o banco de dados athenas01
$ psql -U postgres -h 127.0.0.1 template1
template1=# create database athenas01;
template1=# \q
Importar os dados no banco de dados athenas01.
Baixar o arquivo de backup em http://gestao.datagrupo.com.br:8080/attachments/967/athenas.20200707.sql
Executar o comando abaixo para restaurar os dados no banco de dados athenas01
$ cat ~/Downloads/athenas.20200707.sql | psql -U postgres -h 127.0.0.1 athenas01
Criando o bando de dados base0 a partir do athenas01
$ psql -U postgres -h 127.0.0.1 template1
template1=# create database base0 with template athenas01;
template1=# \q
Obs: Caso o comando create database base0 with template athenas01 apresente o erro "source database athenas01 is being accessed by other users" reiniciar o banco de dados pode resolver o problema. A reinicialização pode ser feita pelo portainer colocando o scale de 1 para 0 e depois de 0 para 1.
Acesse athenas (talvez o serviço athenas_web demore um pouco para inicializar, espere paciente)
127.0.0.1:8000
Login: athenas
Senha: secr3t
Utilitários opcionais:
Ativando os serviço
$ cd ~/athenas/athenas-project/src/
athenas/athenas-project/src$ docker service update athenas_worker --force
Lendo log
Acesse Portainer > Stacks > athenas > worker > Actions > logs
Adicionando ALLOWED_HOST
Acesse athenas-project/config.d/imp_dev.json
Adicione o seu ip
“ALLOWED_HOST” : [
“web”,
“daphne”,
“athenas”,
“127.0.0.1”,
“localhost”,
<seu ip>
]
Dica: fixe seu IP no roteador para não ter que alterar esse arquivo todas as vezes que for reiniciar.
Reiniciando os serviço
athenas/athenas-project/src$ cat config.d/imp_dev.json | json_pp
athenas/athenas-project/src$ docker service update athenas_worker --force
Obs: Caso algo der errado, a stack pode ser removida pelo Portainer e depois criada novamente executando o comando ./init.sh athenas imp_dev