Rodar sem Docker
Para conseguir rodar o projeto em modo produção em sua máquina, instale as seguintes ferramentas:
Lembre-se de configurar as variáveis de ambiente para o Painel de Controle, a API (Backend) e para o Aplicativo Móvel.
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:
cd frontend
npm install --omit=dev
npm run build
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:
cd backend
npm install --omit=dev
cd backend
yarn install --production=true
Por fim, basta executar o servidor utilizando o gerenciador de processos PM2.
pm2 start "npm run prod" --name api
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:
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.
chmod +x ./setup_only_nginx.sh
./setup_only_nginx.sh
Realizar build
do Aplicativo Móvel
Lembre-se de configurar as variáveis de ambiente para o Aplicativo Móvel.
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.
eas login
Realize a configuração do build
.
eas build:configure
E siga os passos necessários.
Por fim, basta rodar o comando que realiza o build
eas build --platform android
eas build --platform ios
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.
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:
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