Instalação e configuração
Configurando o ambiente local (desenvolvimento)
Requisitos
- 4Gb de memória RAM
- 2Gb de espaço em disco
- Sistema operacional Linux ou Windows com WSL
O código-fonte está disponibilizado no perfil do GitHub do Ministério da Gestão e da Inovação em Serviços Públicos.
Neste título, fornecemos abaixo uma configuração demonstrativa para que você possa executar o Ro-DOU no seu computador.
Passo a passo:
-
Instalar na máquina o Docker e Docker Compose (versão 1.29 ou superior):
https://docs.docker.com/compose/install/
-
Clonar o repositório do código no Github https://github.com/gestaogovbr/Ro-dou. Abra o terminal e execute os comandos abaixo:
git clone https://github.com/gestaogovbr/Ro-dou
cd Ro-Dou
- O repositório já vem com comandos pré-definidos no Makefile. Para rodar o sistema, basta:
make run
Este comando baixa as imagens Docker necessárias, efetua o build do container Docker do Ro-DOU e executa todos os demais passos necessários.
-
Verificar se o serviço do Airflow, no qual o Ro-DOU depende, está acessível via navegador, acessando:
O Apache Airflow, que também é usado para rodar o Ro-DOU, pode demorar alguns minutos para se configurar na primeira vez. Para se autenticar e acessar o Apache Airflow, entre no link e utilize login airflow
e senha airflow
.
- Ativar a DAG de clipping:
Na tela inicial do Airflow, são fornecidos clippings de exemplo. A partir dos arquivos YAML (.yaml) do diretório dag_confs/
, é possível manipular e customizar as pesquisas de clipping desejadas nos diários oficiais. Dentro dos arquivos YAML, é possível, por exemplo, definir palavras-chave de busca e um endereço de e-mail para recebimento de uma mensagem com os resultados da busca no(s) diário(s) oficial(is).
Para executar qualquer DAG do Airflow, é necessário ligá-la. Inicialmente, todas as DAGs ficam pausadas por padrão. Sugerimos começar testando o clipping all_parameters_example. Utilize o botão toggle para ligá-lo. Após ativá-lo, o Airflow executará a DAG uma única vez. Clique no nome da DAG para visualizar o detalhe da execução.
Você observará que, tanto na visualização em árvore (Tree) como na visualização em Grafo (Graph) dentro do Apache Airflow, é possível constatar se houve algum resultado encontrado na API da Imprensa Nacional para os termos e demais parâmetros deste clipping. Se a tarefa chamada "send_report" estiver na cor verde, significa que foi encontrado um resultado e que uma mensagem de e-mail foi enviada para o endereço configurado no arquivo YAML.
- Visualizar clipping:
Para visualizar a mensagem de e-mail, acesse o endereço http://localhost:5001/. Este é um serviço que simula uma caixa de e-mail (servidor SMTP) para fins de experimentação. Voilà!.
- Opcional: Configurando o INLABS como fonte de dados:
Observação: Para utilizar o source: - INLABS
, é necessário alterar a conexão inlabs_portal
no Apache Airflow, apontando o usuário e senha de autenticação do portal. Um novo usuário pode ser cadastrado pelo portal INLABS. A DAG
que realiza o download dos arquivos do INLABS é a ro-dou_inlabs_load_pg.
- Desligando o ambiente:
Quando tiver terminado de utilizar o ambiente de teste do Ro-DOU, desligue-o por meio do seguinte comando:
make down
Configurando o ambiente de produção
Requisitos
- 4Gb de memória RAM
- 2Gb de espaço em disco
- Sistema operacional Linux ou Windows com WSL
-
Docker
-
Clonar o repositório do código no Github https://github.com/gestaogovbr/Ro-dou. Abra o terminal e execute os comandos abaixo:
git clone https://github.com/gestaogovbr/Ro-dou
cd Ro-Dou
Para utilizar o Ro-DOU em ambiente de produção, é necessário que o servidor tenha disponível um serviço SMTP que será utilizado pelo Apache Airflow para envio de mensagens de e-mail pela Internet, ou configurar um webhook com Slack ou Discord. Siga os seguintes passos:
-
Utilize as credenciais do serviço SMTP (host, usuário, senha, porta etc.) para editar o arquivo
docker-compose.yml
, substituindo as variáveis referentes ao serviço SMTP, a exemplo deAIRFLOW__SMTP__SMTP_HOST
. -
Ao final do arquivo
docker-compose.yml
, remova as linhas que declaram o serviço smtp4dev, uma vez que ele não será mais necessário. -
O repositório já vem com comandos pré-definidos no Makefile. Para rodar o sistema, basta:
make run
Este comando baixa as imagens Docker necessárias, efetua o build do container Docker do Ro-DOU e executa todos os demais passos necessários.
- Opcional: Configurando o INLABS como fonte de dados:
Observação: Para utilizar o source: - INLABS
, é necessário alterar a conexão inlabs_portal
no Apache Airflow, apontando o usuário e senha de autenticação do portal. Um novo usuário pode ser cadastrado pelo portal INLABS. A DAG
que realiza o download dos arquivos do INLABS é a ro-dou_inlabs_load_pg.