Mongo DB
Configuração do MongoDB e Express Mongo para Ambiente de Desenvolvimento
Para o correto funcionamento do banco de dados MongoDB e da interface administrativa Mongo Express em ambiente de desenvolvimento, são necessários dois serviços: o MongoDB e o Mongo Express. A seguir, detalhamos as configurações de cada serviço:
1. Serviço MongoDB
O MongoDB é configurado como o banco de dados principal. Ele é configurado usando o Docker, e as variáveis de ambiente necessárias para a conexão estão definidas no arquivo .env.dev, que contém informações sensíveis, como nome do banco de dados e credenciais de acesso.
Configuração do MongoDB (docker-compose)
services:
mongo:
image: mongo
env_file:
- .env.dev # Arquivo de variáveis de ambiente
ports:
- "27017:27017" # Expondo a porta padrão do MongoDB
volumes:
- dbdata-volume:/data/db # Volume persistente para dados
environment:
MONGO_INITDB_DATABASE: ${MONGO_INITDB_DATABASE} # Nome do banco de dados
MONGO_INITDB_ROOT_USERNAME: ${MONGO_INITDB_ROOT_USERNAME} # Nome de usuário admin
MONGO_INITDB_ROOT_PASSWORD: ${MONGO_INITDB_ROOT_PASSWORD} # Senha do usuário admin
-
Imagem: A imagem Docker utilizada é a oficial do MongoDB (
mongo). -
Variáveis de Ambiente: O arquivo
.env.devé responsável por fornecer as variáveis de ambiente, como o nome do banco de dados, o usuário admin e a senha. -
Portas: O MongoDB estará disponível na porta 27017, a porta padrão.
-
Volumes: O volume
dbdata-volumegarante que os dados do banco sejam persistidos entre reinicializações do container. -
Variáveis de Ambiente:
-
MONGO_INITDB_DATABASE: Define o nome do banco de dados inicial. -
MONGO_INITDB_ROOT_USERNAME: Nome do usuário root/admin do MongoDB. -
MONGO_INITDB_ROOT_PASSWORD: Senha para o usuário root/admin do MongoDB.
-
2. Serviço Mongo Express
Mongo Express é uma interface web administrativa para o MongoDB, permitindo que você visualize e manipule dados diretamente via navegador. Ele também está configurado com Docker e se comunica com o banco de dados MongoDB através de uma URL de conexão específica.
Configuração do Mongo Express (docker-compose)
services:
mongo-express:
image: mongo-express
ports:
- "8081:8081" # Expondo a porta para acesso via navegador
environment:
ME_CONFIG_MONGODB_URL: mongodb://${MONGO_INITDB_ROOT_USERNAME}:${MONGO_INITDB_ROOT_PASSWORD}@mongo:27017/${MONGO_INITDB_DATABASE}?authSource=admin # URL de conexão com o MongoDB
ME_CONFIG_BASICAUTH_USERNAME: ${MONGO_INITDB_ROOT_USERNAME} # Usuário de autenticação básica
ME_CONFIG_BASICAUTH_PASSWORD: ${MONGO_INITDB_ROOT_PASSWORD} # Senha de autenticação básica
Imagem: A imagem Docker utilizada é a oficial do Mongo Express (
mongo-express).
Portas: A interface do Mongo Express estará disponível na porta 8081.
-
Variáveis de Ambiente:
-
ME_CONFIG_MONGODB_URL: A URL de conexão com o banco MongoDB, que inclui o usuário e a senha definidos no MongoDB, o nome do banco e o endereço do serviço de banco de dados. -
ME_CONFIG_BASICAUTH_USERNAMEeME_CONFIG_BASICAUTH_PASSWORD: Configurações de autenticação básica para acessar o Mongo Express. O nome de usuário e a senha são os mesmos definidos para o MongoDB.
-