Instalação com Docker

Como instalar usando Docker!

A maneira mais fácil de instalar e executar o OpenDataBio é usando o Docker e os arquivos de configuração do docker fornecidos, que contêm todas as configurações necessárias para executar o ODB. Usa nginx e mysql e supervisor.

Arquivos Docker incluídos

laraverl-app/
----docker/*
----./env.docker
----docker-compose.yml
----Dockerfile
----Makefile

Eles foram adaptados deste link, onde você também encontra uma configuração de produção.

Instalação


Baixar OpenDataBio
  1. Certifique-se de ter Docker e Docker-compose instalados em seu sistema operacional.
##ubuntu
docker --version
sudo apt update
sudo apt install docker 
sudo apt install docker-compose-plugin
  1. Verifique se o seu usuário está no grupo docker criado durante a instalação do docker;
getent group docker 
#se nao estiver na lista adicione
#adicione o grupo docker se nao existir
sudo groupadd docker
#adicione o usuario conectado ao grupo docker
sudo gpasswd -a $USER docker
#reinicie o docker
sudo service docker restart
  1. Baixe ou clone o OpenDataBio em sua máquina;
  2. Certifique-se de que o seu usuário é o proprietário da pasta e do conteúdo criados, caso contrário, altere o proprietário e o grupo recursivamente para o seu usuário
  3. Entre no diretório criado opendatabio
  4. Editar e ajustar as configurações de ambiente .env.docker e copiar ele como .env
  1. Para instalar localmente para desenvolvimento, basta ajustar as seguintes variáveis ​​no arquivo Dockerfile, que são necessárias para mapear os proprietários dos arquivos para um usuário do docker;
    1. UID o usuário numérico que você está logado e que é o dono de todos os arquivos e diretórios no diretório opendatabio (em geral 1000 ou 1001).
    2. GDI o grupo numérico ao qual o usuário pertence, geralmente o mesmo que UID.
#usuario atual
id -u  #se UID=1000 não precisa de ajuste
#grupo de usuario atual
id -g  #se GDI=1000 não precisa de ajuste
  1. O arquivo Makefile contém atalhos para os comandos docker-compose usados ​​para construir os serviços configurados no docker-compose.yml e arquivos auxiliares na pasta docker.
  2. Crie os contêineres do docker usando os atalhos (leia o Makefile para compreender os comandos)
make build
  1. Inicie os serviços docker implementados
make start
  1. Veja os contêineres e tente entrar no contêiner laravel
docker ps
make ssh #para entrar no container do app
make ssh-mysql #para entrar no container do mysql container onde você pode acessar a base de dados usando `mysql -uroot -p`
  1. Gerar a chave única APP_KEY
make key-generate
  1. Instale as dependencias
make composer-install
  1. Criar a base de dados usando Laravel Migration
make migrate
  1. Você pode alimentar as tabelas Locations e Taxons usando o seed data para sua versão do OpenDataBio:
make seed-odb
  1. Se funcionou, então Opendatabio estará disponível em seu navegador http::/localhost:8081.
  2. O banco de dados estará disponível através do phpmyadmin em http://localhost:8082/
  3. Faça login com o super-usuário admin@example.org e a senha password1
  4. Configurações adicionais nesses arquivos são necessárias para um ambiente de produção e implantação;

Persistência de dados

As containers criados pelo Docker podem ser excluídos e regerados sem perder os dados As tabelas mysql são armazenadas em um volume, que se apagado irá excluir a base de dados completamente.

docker volume list

Usando

O arquivo Makefile contém os seguintes comandos para interagir com os contêineres do docker e o odb.

Comandos para construir e criar o app

  1. make build - construir os contêineres
  2. make key-generate - gerar a chave do app e adicioná-la ao .env
  3. make composer-install - instalar dependências php
  4. make composer-update - atualizar dependências php
  5. make composer-dump-autoload - executar o dump-autoload do composer dentro do contêiner
  6. make migrate - criar ou atualizar o banco de dados
  7. make drop-migrate - apaga a base de dados e migra novamente
  8. make seed-odb - popular o banco de dados com localizações e táxons

Comandos para acessar os contêineres docker

  1. make start - iniciar todos os contêineres
  2. make stop - parar todos os contêineres
  3. make restart - reiniciar todos os contêineres
  4. make ssh - entrar no contêiner principal da aplicação laravel
  5. make ssh-mysql - entrar no contêiner mysql, para que você possa acessar o log do banco de dados usando mysql -uUSER -pPWD
  6. make mysql - entrar no console docker do mysql
  7. make ssh-nginx - entrar no contêiner nginx
  8. make ssh-supervisord - entrar no contêiner supervisord

Comandos de manutenção

  1. make optimize - limpar caches e arquivos de log
  2. make info - mostrar informações do app
  3. make logs - mostrar logs do laravel
  4. make logs-mysql - mostrar logs do mysql
  5. make logs-nginx - mostrar logs do nginx
  6. make logs-supervisord - mostrar logs do supervisord

Recriando os containers

Se você tiver problemas e alterou os arquivos do docker, pode ser necessário reconstruir:

#apaga todas as imagens sem apagr a base de dados
make stop #pare todas
docker system prune -a  #aceitar com Yes

#se quiser pagar os dados
docker volume list
docker volume rm VOLUME_ID

#construa novamente
make build
make start
Última modificação June 8, 2025: Added examples and Media apis (8232be9)