/
deploy_passenger.sh
114 lines (89 loc) · 2.61 KB
/
deploy_passenger.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
#!/usr/bin/env bash
set -e
# PATHS
BUNDLE=$1
APP_ROOT=$(pwd)
APP_DIR=$APP_ROOT/app
APP_USER=$(< ./appuser)
BUNDLE_DIR=$APP_DIR/bundle
BACKUP_DIR=$APP_DIR/bundle_backup
clear
echo "[ INSTALL CORE APP ]"
echo ""
echo "APP_DIR=$APP_DIR"
echo "BUNDLE_DIR=$BUNDLE_DIR"
echo "BACKUP_DIR=$BACKUP_DIR"
echo "BUNDLE=$BUNDLE"
sleep 2
echo ""
echo "---------------------------"
echo " PART 1. FILESYS AND BACKUP"
echo "---------------------------"
echo ""
# IF NO APPDIR EXISTS CREATE
if [ ! -d $APP_DIR ]
then
echo "[APP_DIR] create APP_DIR, please wait..." && mkdir -p $APP_DIR && echo "... APP_DIR created at $APP_DIR" && echo "" && sleep 2
fi
# REMOVE BACKUP DIR IF EXISTS
if [ -d $BACKUP_DIR ]
then
echo "[BACKUP_DIR] remove BACKUP_DIR before backup, please wait..." && rm -Rf $BACKUP_DIR && echo "... BACKUP_DIR removed" && echo "" && sleep 2
fi
# RENAME BUNDLE TO BACKUP IF EXISTS
if [ -d $APP_DIR/bundle ]
then
echo "[BUNDLE_DIR] create backup, please wait..." && mv $APP_DIR/bundle $BACKUP_DIR && echo "... backup created" && echo "" && sleep 2
fi
echo ""
echo "---------------------------"
echo " PART 2. INSTALL APP"
echo "---------------------------"
echo ""
# EXTRACTION
echo "[COPY] copy archived bundle [$BUNDLE] to APP_DIR"
cp $APP_ROOT/$BUNDLE $APP_DIR
cd $APP_DIR
echo "... copied"
echo ""
sleep 2
echo "[EXTRACT] extract bundle, please wait..."
tar -xpf ./$BUNDLE
echo "... removed copied archive"
rm $APP_DIR/$BUNDLE
echo "... extraction complete"
echo ""
sleep 2
# INSTALL DEPS
SERVER_DIR=$BUNDLE_DIR/programs/server
cd $SERVER_DIR
echo "[LINKING] link main file"
ln -s ../../main.js main.js
ls -la | grep main.js
echo "... linking complete"
echo ""
sleep 2
if [ ! -d $SERVER_DIR/assets/app/uploads ]
then
echo "[ASSETS] create asset folders, please wait..."
mkdir -p $SERVER_DIR/assets/app/uploads/files
mkdir -p $SERVER_DIR/assets/app/uploads/unitfiles
chmod -R 755 $SERVER_DIR/assets
echo "... asset folders created"
echo ""
sleep 2
fi
echo "[permissions] setting permissions recursively"
chown -R ${APP_USER} $APP_DIR
echo "done"
sleep 2
echo "[NPM] install npm packages"
npm --unsafe-perm install
echo "... installation complete"
echo ""
echo "[ALL COMPLETE"]
ROOT_URL="http://localhost:3000"
MONGO_URL="mongodb://root:password@localhost:127.0.0.1:27017/admin"
SETTINGS='{"curriculum":{"sync":{"username":"","password":"", "url":"localhost:12345"}}, "public":{"student":{"host":""}}}'
service mongod start #starting mongodb
ROOT_URL=${ROOT_URL} MONGO_URL=${MONGO_URL} METEOR_SETTINGS=${SETTINGS} passenger start --app-type node --startup-file main.js # starting project through passenger