Implantando o Gramps Web com Docker¶
A opção mais conveniente para hospedar o Gramps Web em seu próprio servidor (ou servidor virtual) é com o Docker Compose.
Assumiremos que o Docker e o Docker Compose já estão instalados em seu sistema. Você pode usar Windows, Mac OS ou Linux como sistema host. As arquiteturas suportadas incluem não apenas x86-64 (sistemas desktop), mas também sistemas ARM, como um Raspberry Pi, que pode servir como um servidor web de baixo custo, mas poderoso (o suficiente).
Note
Você não precisa instalar o Gramps no servidor, pois ele está contido na imagem do docker.
Passo 1: Configuração do Docker¶
Crie um novo arquivo no servidor chamado docker-compose.yml e insira o seguinte conteúdo: docker-compose.yml.
Isso gerará seis volumes nomeados para garantir que todos os dados relevantes persistam ao reiniciar o contêiner.
Warning
O acima tornará a API disponível na porta 80 da máquina host sem proteção SSL/TLS. Você pode usar isso para testes locais, mas não exponha isso diretamente à internet, é completamente inseguro!
Passo 2: Acesso seguro com SSL/TLS¶
A API web deve ser servida ao público na internet via HTTPS. Existem várias opções, por exemplo:
- Usar um serviço de hospedagem Docker que inclua SSL/TLS automaticamente
- Usar um Nginx Reverse Proxy com um certificado Let's Encrypt
Veja Docker com Let's Encrypt para saber como configurar a primeira opção.
Se você planeja usar o Gramps Web apenas em sua rede local, pode pular esta etapa.
Passo 3: Iniciar o servidor¶
Execute
docker compose up -d
Na primeira execução, o aplicativo exibirá um assistente de primeira execução que permitirá que você
- Crie uma conta para o usuário proprietário (admin)
- Defina algumas opções de configuração necessárias
- Importe uma árvore genealógica no formato XML do Gramps (
.gramps)
Passo 4: Fazer upload de arquivos de mídia¶
Existem várias opções para fazer upload de arquivos de mídia.
- Ao usar arquivos armazenados no mesmo servidor que o Gramps Web, você pode montar um diretório no contêiner Docker em vez de usar um volume nomeado, ou seja,
/home/server_user/gramps_media/:/app/mediaem vez degramps_media:/app/media, e fazer o upload de seus arquivos de mídia lá. - Ao usar arquivos de mídia hospedados no S3, você pode usar o Addon S3 Media Uploader
- A opção indiscutivelmente mais conveniente é usar Gramps Web Sync.