Este script automatiza o processo de criação de um ambiente com OpenSearch e OpenSearch Dashboards utilizando Docker e Docker Compose, com suporte para comunicação segura via SSL. O script também realiza a configuração de volumes, senhas e variáveis de ambiente necessárias para rodar o OpenSearch e o OpenSearch Dashboards de maneira simples e segura.
- Busca pela Última Versão Estável do OpenSearch: O script verifica a versão mais recente estável do OpenSearch disponível no GitHub.
- Geração Automática de Senhas Fortes: O script cria senhas seguras para o OpenSearch, o OpenSearch Dashboards e para as chaves SSL utilizadas na comunicação segura.
- Verificação de Requisitos: Antes de iniciar, o script verifica se o Docker e o Docker Compose estão instalados no sistema.
- Gerenciamento de Volumes: O script verifica a existência de volumes Docker para armazenar os dados e permite reutilizar volumes existentes ou criar novos volumes conforme necessário.
- Geração de Arquivos de Configuração:
.env
: Arquivo de variáveis de ambiente, que contém as configurações do OpenSearch e do OpenSearch Dashboards.docker-compose.yml
: Arquivo de configuração do Docker Compose para orquestrar a execução dos containers.
- Execução do Docker Compose: O script inicializa os containers do OpenSearch e OpenSearch Dashboards, habilitando SSL para comunicação segura.
- Exibição de Senhas Geradas: Após a execução, o script exibe as senhas geradas para o usuário, garantindo que as informações de acesso estejam facilmente acessíveis.
Antes de executar o script, é necessário ter o Docker e o Docker Compose instalados na sua máquina. Você pode verificar se esses programas estão instalados com os seguintes comandos:
docker --version
docker-compose --version
Caso não tenha o Docker ou o Docker Compose instalado, siga a documentação oficial do Docker para instalar.
-
Baixe ou copie o script para o seu servidor ou máquina local.
-
Dê permissão de execução ao script:
chmod +x script.sh
-
Execute o script:
./script.sh
O script pode ser executado com alguns parâmetros adicionais:
-
-v <versão>
: Define a versão específica do OpenSearch que você deseja usar. Exemplo:./script.sh -v 2.9.0
-
-opensearchonly
: Caso você deseje instalar apenas o OpenSearch, sem o OpenSearch Dashboards, adicione essa opção:./script.sh -opensearchonly
Caso a versão não seja fornecida, o script irá automaticamente buscar a última versão estável do OpenSearch.
-
-
Verifique as senhas geradas: Após a execução, o script exibirá as senhas geradas para o OpenSearch, o OpenSearch Dashboards e os keystores SSL.
-
Acesse o OpenSearch:
- O OpenSearch estará disponível na URL
https://localhost:9200
. - O OpenSearch Dashboards estará disponível na URL
https://localhost:5601
.
- O OpenSearch estará disponível na URL
- Funções principais:
get_latest_stable_version()
: Busca a última versão estável do OpenSearch no GitHub.generate_random_password()
: Gera senhas fortes para o OpenSearch, o OpenSearch Dashboards e os keystores SSL.check_requirements()
: Verifica se o Docker e o Docker Compose estão instalados.check_volume()
: Verifica se o volume Docker para o OpenSearch já existe e oferece a opção de reutilizá-lo ou recriá-lo.create_env_file()
: Cria o arquivo.env
com as variáveis de ambiente.create_docker_compose_file()
: Cria o arquivodocker-compose.yml
com a configuração necessária para rodar os containers.run_docker_compose()
: Executa o Docker Compose para subir os containers.show_password()
: Exibe as senhas geradas para o OpenSearch e o OpenSearch Dashboards.
O script permite a personalização de várias configurações:
- Versão do OpenSearch (
opensearch_version
): Define a versão do OpenSearch a ser utilizada. Se não for especificada, o script buscará a última versão estável. - Configurações de Memória (
opensearch_heap_init
,opensearch_heap_max
): Define as configurações de memória para o heap do OpenSearch. - Senhas: O script gera automaticamente senhas para o OpenSearch, o OpenSearch Dashboards e os keystores SSL.
- Portas:
opensearch_port
: Porta para o OpenSearch (padrão: 443).opensearch_dashboards_port
: Porta para o OpenSearch Dashboards (padrão: 5601).
Este script é mantido pela 4Linux através de mim, Samuel Gonçalves, Gerente de Tecnologia.