blob: ed3cb8b99473eccb0e368367091e8317a54d1cb5 (
plain)
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
|
#!/usr/bin/bash
export $(cat ~/.env | xargs)
chessh_source="https://github.com/Simponic/chessh"
chessh_path="$HOME/src/chessh"
build_output="/var/www/html/chessh_front"
nginx_site="/etc/nginx/sites-enabled/chessh_front.conf"
front_port=3000
nginx_conf="
server {
listen ${front_port};
listen [::]:${front_port};
location / {
root ${build_output};
index index.html;
try_files \$uri \$uri/ /index.html;
}
}
"
# Grab deps
if [ $(which node) == "" ]
then
curl -sSL https://deb.nodesource.com/setup_16.x | sudo bash -
sudo apt install -y nodejs
fi
[ "$(which git)" != "" ] || sudo apt install -y git
[ "$(which nginx)" != "" ] || sudo apt install -y nginx
# Checkout source
if [ ! -d $chessh_path ]
then
mkdir -p $chessh_path
cd $chessh_path
git init
git remote add origin $chessh_source
git pull origin
git checkout main
git config pull.rebase true
else
cd $chessh_path
git pull origin main
fi
# Build
cd $chessh_path/front
npm ci
npm run build
# Copy to nginx root
sudo rm -rf $build_output
sudo mkdir -p $build_output
sudo cp -r $chessh_path/front/build/* $build_output
sudo chown -R www-data $build_output
# Copy nginx config
echo "$nginx_conf" | sudo tee $nginx_site
# Restart nginx
sudo systemctl restart nginx
|