Pular para o conteúdo principal

Rodar sem Docker

Para conseguir rodar o projeto em modo produção em sua máquina, instale as seguintes ferramentas:

Atenção

Lembre-se de configurar as variáveis de ambiente para o Painel de Controle, a API (Backend) e para o Aplicativo Móvel.

caution

Lembre-se de configurar os arquivos de hosts utilizados pelo Nginx. Clique aqui para visualizar a configuração.

Realizar deploy do Painel de Controle

Para colocar o Painel de Controle em modo produção, devemos executar os seguintes comandos:

npm
  cd frontend
npm install --omit=dev
npm run build
yarn
  cd frontend
yarn install --production=true
yarn build

Realizar deploy da API (Backend)

Para colocar o Painel de Controle em modo produção, devemos executar os seguintes comandos:

Primeiramente, é necessário instalar as dependências de produção com os seguintes comandos:

npm
  cd backend
npm install --omit=dev
yarn
  cd backend
yarn install --production=true

Por fim, basta executar o servidor utilizando o gerenciador de processos PM2.

npm
  pm2 start "npm run prod" --name api
yarn
  pm2 start "yarn prod" --name api

Configuração dos certificados SSL

Com a utilização do script setup_only_nginx.sh é possivel configurar os certificados do Painel de Controle e da API (Backend). Tal script realiza os seguintes passos:

  • Instalação do Nginx.
  • Configuração do Proxy.
  • Configuração dos certificados SSL.
  • Agendamente mensal de renovação dos certificados SSL.

Por fim, basta executar os seguintes comandos:

Atenção

Será necessário informar o domínio utilizado para o Painel de Controle (Frontend) e para a API (Backend). Assim como, um e-mail para a configuração dos certificados SSL.

setup_only_nginx.sh
chmod +x ./setup_only_nginx.sh
./setup_only_nginx.sh

Realizar build do Aplicativo Móvel

Atenção

Lembre-se de configurar as variáveis de ambiente para o Aplicativo Móvel.

Dica

Caso queira ver a documentação do próprio expo a respeito do build, clique aqui.

Utilizando o eas, realize o login com sua conta do expo.

Terminal
eas login

Realize a configuração do build.

Terminal
eas build:configure

E siga os passos necessários.

Por fim, basta rodar o comando que realiza o build

Para Android
eas build --platform android
Para IOS
eas build --platform ios
Para ambos
eas build --platform all

Será necessário aguardar um tempo para que o build seja finalizado. É possível verificar se já foi feito listando os builds finalizados.

Listando os builds
eas build:list

Atualizar deploy do Painel de Controle

Utilize o script update_frontend_production.sh para realizar a atualização do Painel de Controle caso efetue alguma modificação após o mesmo já estar funcionando no servidor. O script realiza as seguintes ações:

  • Instala as dependências caso exista alguma faltante.
  • Realiza o processo de build do Painel de Controle.
  • Copia os arquivos gerados para a pasta /var/www/html/quiz (pasta root padrão da configuração dos arquivos de hosts do Nginx).

Sendo assim, para executar o script basta executar os seguintes comandos:

chmod +x ./update_frontend_production.sh
./update_frontend_production.sh

Atualizar deploy da API (Backend)

Caso deseje atualizar a API no servidor onde a mesma está hospedada, basta executar o seguinte comando do PM2:

Atenção

Note que o comando abaixo está aplicando o reload para o processo com o nome api. Você deverá utilizar o nome escolhido no passo Realizar deploy da API (Backend).

pm2 reload api