-
Notifications
You must be signed in to change notification settings - Fork 1
/
setup_only_backend.sh
executable file
·83 lines (45 loc) · 1.92 KB
/
setup_only_backend.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
read -p "Digite o domínio da api (ex: meudominio.com): " domain_api
read -p "Digite um e-mail (necessário para gerar os certificados): " email
echo "Instalando o Docker..."
curl -fsSL https://get.docker.com -o get-docker.sh
echo "Executando get-docker"
sudo sh get-docker.sh
echo "Executando rm get-docker"
rm get-docker.sh
echo "Instalando docker-compose"
sudo apt install docker-compose -y
echo "Criando pasta para upload de arquivos..."
sudo mkdir -p ./backend/tmp/uploads
echo "Configurando versão do Node"
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash
export NVM_DIR="$([ -z "${XDG_CONFIG_HOME-}" ] && printf %s "${HOME}/.nvm" || printf %s "${XDG_CONFIG_HOME}/nvm")"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
source ~/.bashrc
nvm install v16.16.0
nvm use v16.16.0
nvm alias default 16.16.0
echo "Versão do node instalada:"
node -v
echo "Iniciando container do backend"
docker-compose -f docker-compose-prod-only-api.yml up -d --build
echo "Instalando e configurando o Nginx..."
sudo apt install nginx certbot python3-certbot-nginx -y
sudo rm /etc/nginx/sites-available/$domain_api
sudo rm /etc/nginx/sites-enabled/$domain_api
sudo rm /etc/nginx/nginx.conf
sudo cp nginx/$domain_api /etc/nginx/sites-available
sudo cp nginx/nginx.conf /etc/nginx/nginx.conf
sudo ln -s /etc/nginx/sites-available/$domain_api /etc/nginx/sites-enabled/$domain_api
echo "Reiniciando nginx"
sudo nginx -t
sudo systemctl reload nginx
sudo systemctl restart nginx
echo "Gerando SSL para a API..."
sudo certbot --nginx -d $domain_api --email $email --non-interactive --agree-tos
echo "Aguardando os containers..."
until [ "`docker inspect -f {{.State.Running}} backend_prod`"=="true" ]; do
sleep 0.1;
done;
echo "PATH=$PATH" > /etc/cron.d/certbot-renew
echo "@monthly certbot renew --nginx >> /var/log/cron.log 2>&1" >>/etc/cron.d/certbot-renew
crontab /etc/cron.d/certbot-renew