Instalação
A instalação do PetalSync é bastante simples e pode ser realizada em servidores Linux e Windows através do Docker.
Configurando o Projeto Localmente
Para executar o projeto, siga os passos abaixo:
- Clone o repositório do projeto no Github.
-
Instale as dependências utilizando o gerenciador de pacotes
Poetrycom o comando:poetry install -
A API de integração é construída sobre o FastAPI 0.95.1 e requer o Python na versão superior a 3.10. Qualquer adaptação necessária pode ser feita em versões subsequentes.
- Crie um arquivo
.envcontendo a string de conexão com o MongoDB. Veja o exemplo abaixo do local de criação e do conteúdo do arquivo:
petalsync/
api/
app/
...
.env # Conteúdo do arquivo contendo a string de conexão com o banco de dados
Exemplo do conteúdo do arquivo:
```
MONGODB_CONNECTION_STRING=mongodb://user:password@localhost:27017/?authMechanism=DEFAULT
MONGODB_CONNECTION_STRING_DB=database
```
-
Execute o servidor web com o comando:
uvicorn app:app --reload
Instalação Local via Docker
Para a instalação via Docker, é necessário possuir o Docker instalado.
Configure o arquivo docker-compose.yml para adequar as configurações ao seu ambiente. Esta implementação do projeto para a imagem Docker está em desenvolvimento, portanto, avalie a viabilidade das configurações fornecidas.
version: '3'
services:
petalsync:
build:
context: .
dockerfile: Dockerfile
ports:
- "8000:8000"
- "5000:5000"
networks:
- hostnet
environment:
MONGO_HOST: host.docker.internal
networks:
hostnet:
external: true
Optamos por utilizar o Supervisor para monitoramento e controle dos nossos processos. Tanto a API como Processo de ETL será monitorados pelo Supervisor. Toda a configuração será passada para o controle do Supervidor através do arquivo supervisord.conf.
[program:etl]
command=/opt/venv/bin/python /petalsync/etl.py
directory=/petalsync
autostart=true
autorestart=true
startretries=3
redirect_stderr=true
stdout_logfile=/petalsync/logs/etl/etl.log
stdout_logfile_maxbytes=10MB
Com o projeto devidamente baixado em sua máquina, para seguir com a criação da projeton em um container docker, basta executar os comando baixo:
Use o comando abaixo para inicar o seu container. A necesside do comando linux sudo depende da configuraçlao do seu amviente local.
sudo docker-compose up -d
As aplicação executa por padrão na porta 8000. Você pode conferir em seu navegador através do 127.0.0.1:8000/docs.