Configuração Ambiente Docker
Nosso "Suitão"(NX Suite) possui várias api's e serviços que rodam em containers Docker no ECS (Elastic Container Service) da AWS, e esses containers também são primordiais não só pros ambientes hospedados na AWS como pro nosso desenvolvimento no dia a dia.
Pra facilitar toda a configuração do nosso ambiente existe um repositório no Bitbucket, o nx-suite-docker que possui uma espécie de "CLI" que facilita toda a configuração local de ambiente para o desenvolvimento do NX Suite.
Pré-requisitos
Para o funcionamento adequado do nosso sistema em sua máquina local, é necessário que algumas ferramentas estejam já instaladas e configuradas:
- Git e chave SSH do bitbucket configurada - (TUTORIAL)
- Node 16 ou Superior (Recomendamos a utilização do NVM - Node Version Manager) - (TUTORIAL)
- Docker e docker-compose - (TUTORIAL)
- Ngrok com authtoken configurado - (TUTORIAL)
Passo a Passo
Tendo todas os requisitos necessários para a configuração do ambiente, você seguirá os seguintes passos:
1. Clonar o repositório nx-suite-docker e entrar na pasta
$ git clone git@bitbucket.org:devsmartnx/nx-suite-docker.git && cd nx-suite-docker
2. Efetuar o comando abaixo e copiar o resultado
$ pwd
3. Configurar a variável NXTOOLKITBASEPATH
$ export NXTOOLKITBASEPATH=resultado_do_pwd
4. Configurar permissões da pasta do projeto para o usuário
$ sudo chown $USER:$USER -R *
5. Configurar o comando "NX" para ser executado de forma global no seu sistema
-
Vá ao diretório home do seu linux.
$ cd ~ -
Abra o arquivo de configuração do seu terminal.
$ sudo vim .bashrcinfoCaso esteja usando um outro terminal que não seja o bash, deverá ser o arquivo de configuração do terminal em questão.
EX: No caso do terminal zsh o arquivo é .zshrc
-
Adicione no fim do arquivo os seguintes comandos:
export PATH=$PATH:resultado_do_pwdexport NXTOOLKITBASEPATH=resultado_do_pwd -
Salve o arquivo e reinicie o terminal
6. Realizar o build de todos os containers do NX Suite
$ nx setup
Aguarde ansiosamente rsrs, esse comando dura em média 1h para terminar de ser executado e exige um pouco da sua máquina, portanto para melhor performance feche todas aplicações que não forem necessárias no momento.
7. Iniciar o backend e o frontend
$ nx start && nx start front
Após estes passos, o sistema deverá estar apto pra testes locais e futuros desenvolvimentos, bom trabalho!