Instalação¶
ATENÇÃO: este documento está em desenvolvimento.
A instalação básica é abordada nos seguintes documentos:
Este documento contém detalhes para a instalação em ambiente de produção ou em situações de desenvolvimento customizado (por exemplo na ausência de ambiente contêinerizado).
Produção¶
Esta seção trata sobre como rodar o sistema em ambiente de produção.
Requisitos mínimos¶
O sistema foi desenvolvido e testado em Ubuntu GNU/Linux 20.04 LTS e possivelmente será suportado em versões LTS superiores.
Da mesma maneira, foi testado no gerenciador de bases de dados PostgreSQL 12 e possivelmente é compatível com versões posteriores.
Caso o sistema possua alguma rotina de atualizações e reinicializações de segurança, certifique-se de que esta não ocorra com periodiciade menor do que um mês, já que intervalos curtos podem impedir a importação de conjuntos de dados mais pesados como o PRODES / INPE.
Espaço em disco: 100GB para abrigar os conjuntos de dados completos. O espaço pode ser reduzido caso não haja intenção de utilizar todos os conjuntos ou manter dados por longos períodos de tempo (salvaguarda).
Memória RAM: 16GB para o backend (8GB para máquina de desenvolvimento local), ou superior, a depender da quantidade de acessos esperada e da velocidade desejada para as consultas.
CPUs: 4 para o backend.
Os requisitos de RAM e CPU para o frontend são bem menores, pois trata-se de uma aplicação estática compilada usando Webpack.
Instalação em ambiente de produção¶
A instalação é dividida em dois ambientes básicos:
Ambiente para o backend.
Ambiente para o frontend.
Ambos ambientes podem se encontrar no mesmo servidor/máquina virtual, porém é recomendado que estejam em máquinas distintas.
Aqui será tratado apenas do ambiente backend,
Há uma série de scripts de provisionamento na pasta bin/.
Provisionamento básico do ambiente¶
Tanto o Docker quanto a base PostgreSQL podem ser provisionados manualmente.
O backend conta com os seguintes scripts de conveniência que podem ser usados ou adaptados caso a caso:
./bin/provision-container-host
./bin/provision-postgresql
Provisionamento da base de dados¶
Analogamente, há um script de conveniência para a criação da base de dados principal:
./bin/provision-database
Caso se queira rodar o Apache Airflow para o agendamento e importação automática de conjuntos, uma base de dados adicional precisa ser criada, incluindo as credenciais de acesso.
Avançado¶
Procedimentos avançados de desenvolvimento, uso e teste do backend.
Instalação em ambiente sem containerização¶
Para casos onde é desejado instalar o sistema diretamente numa máquina virtual ou direto no “bare metal”.
Requisitos¶
Desenvolvido em Ubuntu GNU/Linux 20.04 (Focal Fossa).
Banco PostgreSQL 13+ configurado com a extensão PostGIS versão 3+.
Opcional: dblink e acesso aos bancos de dados internos do ISA caso se queira rodar os importadores
_dblink
.
Rodando¶
No caso da instalação sem containerização, os comandos podem ser invocados diretamente
usando o make
.
Por exemplo, para inicializar a base de dados, baixar e incorporar os dados mais recentes, use o comando
make bootstrap
make import