Migração para outro Servidor
Migrar o sistema para outro servidor, implica fazer uma instalação nova do código que implementa o sistema descrito em Arquitectura do Sistema.
O sistema pode ser descarregado directamente do repositório de git:
git clone https://github.com/byteroad/ogcapi-simple.git
Entrar dentro do repositório:
cd ogcapi-simple
Antes de serem iniciados os containers (tal como está descrito em Gerir as Aplicações), deve ser criado um ficheiro .env
, na raiz desse repositório com as variáveis de ambiente. A forma mais simples é copiar o ficheiro que está na máquina ogcapi. Também devem ser copiados os certificados SSL, para a pasta /etc/ssl
(ver Substituição dos certificados SSL)
Depois, o sistema pode ser iniciado (no background) com:
docker compose up -d
No caso de ser uma instalacão nova, o docker daemon vai puxar a última versão das imagens de docker utilizadas e fazer o build das imagens necessárias.
Info
O sistema OGCAPI não tem a noção de estado, já que é recriado de cada vez que é iniciado. As mudanças são persistidas no código, permitindo que seja reproduzível em outras máquinas sem nenhum esforço adicional.
No entanto a aplicação de monitorização de logs (geohealthcheck
) e a aplicação de monitorização de serviços (matomo
) guardam dados (e configurações) que são criados depois do sistema estar em marcha e que portanto não estão descritos no código. Para migrar o matomo, é necessário copiar directoria ./matomo/data
. O manual de utilizadores do GeoHealthCheck explica como exportar os dados para um ficheiro json e importar-los numa BD nova.
Warning
Por defeito, o GeoHealthCheck é instalado com uma password não segura. Para actualizar a password depois do sistema estar a funcionar, podem ser seguidos estes passos, desde o interior do container.
- Entrar no container
ghc_runner
:docker exec -it ghc_runner bash
. - Entrar pasta
GeoHealthCheck
:cd GeoHealthCheck/
- Criar hash da password:
paver create_hash -p mypass
(substituir mypass pela password a utilizar) - Install sqlite:
apt-get update && apt-get install sqlite3
- Entrar dentro da BD:
sqlite3 DB/data.db
- Actualizar a password usando o hash criado no passo 3.:
UPDATE user SET password = '<above hash-value>' WHERE username == 'myusername';
- Sair da BD: '.q'