Projeto do LabXP em parceria com o SPIRA.
SPIRA Dashboard é uma plataforma para registro e inferência de probabilidade de insuficiência respiratória usando uma instância da SPIRA-Inference-API
- João Vitor Soares
- Leonardo Meireles da Silva
- Lucas Vilela Aleixo
- Raul Mello Silva
- Vitor Daisuke Tamae
- Ygor Sad Machado
- Docker
- Docker Compose
- Portainer (Opcional, para gerenciamento de container)
Todas as outras dependências podem ser instaladas por meio do Yarn, no diretório raíz do projeto (caso não tenha instalado todas as dependências):
yarn install --production
Caso queira instalar também as dependências de desenvolvimento do projeto:
yarn install
As variáveis de ambiente devem ser colocadas no arquivo .env
no diretório raíz do projeto.
Nome da Variável | Significado | Obrigatória |
---|---|---|
MONGO_INITDB_ROOT_USERNAME | nome do usuário root do banco de dados | Sim |
MONGO_INITDB_ROOT_PASSWORD | senha do usuário root do banco de dados | Sim |
SPIRA_API_URL | url de acesso à instância da SPIRA-Inference-API | Sim |
MONGO_PROTOCOL | protocolo da url de acesso ao banco de dados | Não (default=mongodb ) |
MONGO_AT | parte depois do @ na url de acesso ao banco de dados | Não (default=db:27017/ ) |
PORT | porta na qual o serviço vai rodar | Não (default=8000 ) |
Exemplo de .env
:
MONGO_INITDB_ROOT_USERNAME=admin
MONGO_INITDB_ROOT_PASSWORD=PEjJIU4mLSfMXLI
SPIRA_API_URL=http://localhost:5000/predict
O deploy local pode ser feito tanto com Docker quanto direto na máquina.
Primeiro, é necessário criar a imagem. Esse passo só é executado uma vez ou sempre que for feita uma atualização no código:
bash scripts/build.sh
-
Sem Portainer:
Executado sempre que for subir os containers:
bash scripts/compose.sh
-
Com Portainer:
Com o Portainer configurado e rodando, entre no seu ambiente em
Environments
, vá emStacks
e clique emAdd stack
.Selecione
Upload
, selecioneSelect file
e busque o arquivodocker-compose.yml
do projeto.Selecione
Load variables from .env file
e busque o arquivo.env
com suas variáveis de ambiente. No caso de uso do Portainer, é necessário que a variável PORT seja definida no arquivo.env
.Deploy the stack
!
É necessário que uma instância de MongoDB esteja rodando na máquina ou em outro lugar acessível (pode ser em um Docker container, inclusive).
Defina as váriáveis MONGO_PROTOCOL e MONGO_AT no arquivo .env
conforme a configuração da instância de MongoDB que for usar.
Execute o seguinte comando no diretório raíz do projeto:
yarn start
Caso o deploy seja para desenvolvimento, é possível fazer o redeploy automático quando detectadas mudanças no código. Tenha as dependências de desenvolvimento instaladas e execute:
yarn dev
Esse tipo de deploy pode variar bastante dependendo do serviço que for usar.
Assim é feito o deploy em nuvem desse repositório, usando o free tier do Heroku e do MongoDB Atlas:
- Crie uma conta e uma database (Shared) no Atlas
- Configure o IP range aceito para conexões
- Na aba
Connect
, selecione a opçãoConnect your application
- Decomponha a url mostrada nas variáveis de ambiente
- Crie uma conta e um App no Heroku
- Faça a migração do stack para container
- Faça a integração com o Github
- Habilite o deploy automático
- Defina as variáveis de ambiente com config vars
Confira as issues.