Fazendo download do instalador e executando o instalador: 💾
sudo apt install -y git && git clone https://github.com/AutoAtende/aa-max-install.git install && sudo chmod -R 777 ./install && cd ./install && sudo ./install_primaria
--- | Mínimo | Recomendado |
---|---|---|
Node | 18.x | 20.x |
Ubuntu | Auto 20.x | Manual 22.x |
Memória RAM | 4Gb | 8Gb |
A instalação manual usa o redis fora do docker.
Atulizações de pacotes e instalação de libs que serão utilizadas pela vps.
sudo apt update && sudo apt upgrade -y
sudo apt-get install -y libgbm-dev wget unzip fontconfig locales gconf-service libasound2 libatk1.0-0 libc6 libcairo2 libcups2 libdbus-1-3 libexpat1 libfontconfig1 libgcc1 libgconf-2-4 libgdk-pixbuf2.0-0 libglib2.0-0 libgtk-3-0 libnspr4 libpango-1.0-0 libpangocairo-1.0-0 libstdc++6 libx11-6 libx11-xcb1 libxcb1 libxcomposite1 libxcursor1 libxdamage1 libxext6 libxfixes3 libxi6 libxrandr2 libxrender1 libxss1 libxtst6 ca-certificates fonts-liberation libappindicator1 libnss3 lsb-release xdg-utils git
sudo apt-get install build-essential
fail2ban serve para evitar acessos a vps por força bruta, quando um ip tenta acessar a vps e erra a senha varias vezes esse pacote joga o ip para uma black list
sudo apt install fail2ban -y && sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
sudo systemctl enable fail2ban
sudo systemctl start fail2ban
Ative o firewall da vps para entrada e saida de informações controladas.
sudo ufw default allow outgoing
sudo ufw default deny incoming
sudo ufw allow ssh
sudo ufw allow 22
sudo ufw allow 80
sudo ufw allow 443
sudo ufw allow 5432
sudo ufw allow 6379
sudo ufw enable
curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash -
sudo apt install -y nodejs
sudo apt install redis
sudo systemctl enable redis-server
sudo systemctl start redis-server
sudo apt-get install postgresql postgresql-contrib -y
sudo systemctl start postgresql.service
sudo passwd postgres
crie-uma-senha
sudo su - postgres
psql -c "ALTER USER postgres WITH PASSWORD 'minha-senha'"
createdb nome-do-banco-de-dados;
exit
sudo apt install nginx -y
sudo rm /etc/nginx/sites-enabled/default
sudo nano /etc/nginx/sites-available/backend
substitua meubackend.com.br pelo dominio do seu backend e porta pela porta configurada no .env do backend
server {
server_name meubackend.com.br;
location / {
proxy_pass http://127.0.0.1:porta;
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;
}
}
sudo nano /etc/nginx/sites-available/frontend
substitua meufrontend.com.br pelo dominio do seu frontend e meusistema pelo nome da pasta que foi feito o clone do repositório
server {
server_name meufrontend.com.br;
root /home/deploy/meusistema/frontend/build;
index index.html index.htm index.nginx-debian.html;
location / {
try_files \$uri /index.html;
}
}
sudo ln -s /etc/nginx/sites-available/backend /etc/nginx/sites-enabled
sudo ln -s /etc/nginx/sites-available/frontend /etc/nginx/sites-enabled
sudo nano /etc/nginx/nginx.conf
client_max_body_size 20M; // pode alterar para mais MB se desejar
sudo nginx -t
sudo service nginx restart
sudo apt install snapd -y
sudo snap install --classic certbot
sudo apt update
sudo npm install -g pm2
sudo pm2 startup ubuntu -u 'root' // se etiver logado via ssh com outro usuario substirua root pelo usuario logado
Envie os arquivos do seu projeto via SFTP ou via git clone, em seguida navegue ate a pasta de destino do backend e rode o seguinte comando
npm install --legacy-peer-deps
sudo nano .env
NODE_ENV=
BACKEND_URL=http://localhost:4000
FRONTEND_URL=http://localhost/frontend
PROXY_PORT=443
PORT=4000
DB_HOST=localhost
DB_DIALECT=postgres
DB_USER=
DB_PASS=
DB_NAME=
DB_PORT=5432
REDIS_URI=redis://:senha@127.0.0.1:6379
REDIS_OPT_LIMITER_MAX=1
REDIS_OPT_LIMITER_DURATION=3000
USER_LIMIT=
CONNECTIONS_LIMIT=
CLOSED_SEND_BY_ME=true
FACEBOOK_APP_ID=
FACEBOOK_APP_SECRET=
MAIL_HOST=
MAIL_USER=
MAIL_PASS=
MAIL_FROM=
MAIL_PORT=
npm run build
npx sequelize db:migrate
npx sequelize db:seed:all
pm2 start dist/server.js --name backend --max-memory-restart 400M
sudo pm2 save
cd ../frontend
npm install --legacy-peer-deps
sudo nano .env
REACT_APP_BACKEND_URL=
REACT_APP_HOURS_CLOSE_TICKETS_AUTO=24
REACT_APP_LOCALE=pt-br
REACT_APP_TIMEZONE=America/Sao_Paulo
REACT_APP_TRIALEXPIRATION=7
REACT_APP_FACEBOOK_APP_ID=
REACT_APP_NUMBER_SUPPORT=
Realize o build do frontend
npm run build
sudo certbot --nginx