-
Notifications
You must be signed in to change notification settings - Fork 5
/
Copy pathsetupclient.sh
131 lines (117 loc) · 3.64 KB
/
setupclient.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
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
#!/bin/bash -x
if [ "$#" -ne 5 ]; then
echo "usage: server subnet url nodenumber"
exit 1
fi
SERVER=$1
SUBNET=$2
URL=$3
NODE=$4
DNS=$5
CONFIGFILE="trial-$URL.conf"
# CONFIGFILE_ROOT="trial.redirect-$URL.conf"
#
# FILE_ROOT='server {
# server_name '$URL'.'$DNS';
# return 301 http://'$URL'.'$DNS'$request_uri;
#!/bin/bash -x
if [ "$#" -ne 5 ]; then
echo "usage: server subnet url nodenumber"
exit 1
fi
SERVER=$1
SUBNET=$2
URL=$3
NODE=$4
DNS=$5
CONFIGFILE="trial-$URL.conf"
# CONFIGFILE_ROOT="trial.redirect-$URL.conf"
#
# FILE_ROOT='server {
# server_name '$URL'.'$DNS';
# return 301 http://'$URL'.'$DNS'$request_uri;
# }'
FILE="server {
server_name '$URL'.'$DNS';
location / {
proxy_max_temp_file_size 2048m;
proxy_read_timeout 1200s;
proxy_send_timeout 1200s;
proxy_connect_timeout 1200s;
client_max_body_size 100G;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
#!/bin/bash -x
if [ "$#" -ne 5 ]; then
echo "usage: server subnet url nodenumber"
exit 1
fi
SERVER=$1
SUBNET=$2
URL=$3
NODE=$4
DNS=$5
CONFIGFILE="trial-$URL.conf"
# CONFIGFILE_ROOT="trial.redirect-$URL.conf"
#
# FILE_ROOT='server {
# server_name '$URL'.'$DNS';
# return 301 http://'$URL'.'$DNS'$request_uri;
# }'
FILE='server {
server_name '$URL'.'$DNS';
location / {
proxy_max_temp_file_size 2048m;
proxy_read_timeout 1200s;
proxy_send_timeout 1200s;
proxy_connect_timeout 1200s;
client_max_body_size 100G;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_pass http://cluster_'$URL';
}
listen 443 ssl;
ssl_certificate /etc/letsencrypt/live/'$DNS'/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/'$DNS'/privkey.pem;
include /etc/letsencrypt/options-ssl-nginx.conf;
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem;
}
upstream cluster_'$URL' {
server 172.'$SUBNET'.0.'$NODE':8080;
}
server {
listen 80;
server_name '$URL'.'$DNS';
return 301 https://$host$request_uri;
}'
#
# deployToOtherServer() {
# NGINX="sudo mv /home/entermedia/$CONFIGFILE_ROOT /etc/nginx/conf.d && sudo chown root. /etc/nginx/conf.d/$CONFIGFILE_ROOT && sudo nginx -s reload"
#
# #Create local NGINX config
# echo -e $FILE_ROOT > /home/entermedia/$CONFIGFILE
#
# #Deploy NGINX config to server and reload service
# scp /home/entermedia/$CONFIGFILE_ROOT $SERVER_ROOT:/home/entermedia
# ssh -tt $SERVER "$NGINX"
# rm /home/entermedia/$CONFIGFILE
#
# deployToServer
# }
deployToServer() {
DEPLOY="sudo bash /home/entermedia/entermedia-docker-trial.sh $URL $NODE $SUBNET"
NGINX="sudo mv /home/entermedia/$CONFIGFILE /etc/nginx/conf.d && sudo chown root. /etc/nginx/conf.d/$CONFIGFILE && sudo chmod 644 /etc/nginx/conf.d/$CONFIGFILE &&sudo nginx -s reload"
#Deploy docker instance
ssh -tt $SERVER "curl -o entermedia-docker-trial.sh -jL docker-trial.entermediadb.org && $DEPLOY"
#Create local NGINX config
bash -c "printf '$FILE' > /home/entermedia/$CONFIGFILE"
#Deploy NGINX config to server and reload service
scp /home/entermedia/$CONFIGFILE $SERVER:/home/entermedia
ssh -tt $SERVER "$NGINX"
rm /home/entermedia/$CONFIGFILE
}
deployToServer