#!/bin/bash # # functions for setting up app frontend ####################################### # installed node packages # Arguments: # None ####################################### frontend_node_dependencies() { print_banner printf "${WHITE} 💻 Instalando dependências do frontend...${GRAY_LIGHT}" printf "\n\n" sleep 2 sudo su - deploy < /home/deploy/${instancia_add}/frontend/.env REACT_APP_BACKEND_URL=${backend_url} REACT_APP_HOURS_CLOSE_TICKETS_AUTO = 24 [-]EOF EOF sleep 2 sudo su - deploy << EOF cat <<[-]EOF > /home/deploy/${instancia_add}/frontend/server.js //simple express server to run frontend production build; const express = require("express"); const path = require("path"); const app = express(); app.use(express.static(path.join(__dirname, "build"))); app.get("/*", function (req, res) { res.sendFile(path.join(__dirname, "build", "index.html")); }); app.listen(${frontend_port}); [-]EOF EOF sleep 2 } ####################################### # starts pm2 for frontend # Arguments: # None ####################################### frontend_start_pm2() { print_banner printf "${WHITE} 💻 Iniciando pm2 (frontend)...${GRAY_LIGHT}" printf "\n\n" sleep 2 sudo su - deploy < /etc/nginx/sites-available/${instancia_add}-frontend << 'END' server { server_name $frontend_hostname; location / { proxy_pass http://127.0.0.1:${frontend_port}; proxy_http_version 1.1; proxy_set_header Upgrade \$http_upgrade; proxy_set_header Connection 'upgrade'; proxy_set_header Host \$host; proxy_set_header X-Real-IP \$remote_addr; proxy_set_header X-Forwarded-Proto \$scheme; proxy_set_header X-Forwarded-For \$proxy_add_x_forwarded_for; proxy_cache_bypass \$http_upgrade; } } END ln -s /etc/nginx/sites-available/${instancia_add}-frontend /etc/nginx/sites-enabled EOF sleep 2 }