-
Notifications
You must be signed in to change notification settings - Fork 21
/
Copy pathvigilo-entrypoint
executable file
·66 lines (54 loc) · 1.82 KB
/
vigilo-entrypoint
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
#!/bin/bash
set -e
function log() {
echo $1 > /proc/1/fd/1
}
function logerr() {
echo $1 > /proc/1/fd/2
}
i=0
log "Trying to connect to database ..."
while ! mysql -e ';' -h $MYSQL_HOST -u$MYSQL_USER --password=$MYSQL_PASSWORD $MYSQL_DATABASE > /dev/null 2>&1
do
i=$((i+1))
log "Trying to connect to database [${i}/30]"
if [ $i -eq 30 ]
then
logerr "Fail to connect to database, please verify that env variables are set and DB is reachable"
logerr "Exiting ..."
exit 1
fi
sleep 1
done
DBVER=$(mysql -e "SELECT config_value FROM obs_config WHERE config_param='vigilo_db_version'" -h $MYSQL_HOST -u$MYSQL_USER -p$MYSQL_PASSWORD $MYSQL_DATABASE 2>/dev/null | tail -1 | tr -d '\n' || true)
if [ -z $DBVER ]
then
DBVER='0.0.0'
cp /tmp/install_app/install.php /var/www/html/install.php
chown 33:33 /var/www/html/install.php
fi
log "DB Version ${DBVER}, APP Version ${VIGILO_VERSION}"
if [ "$DBVER" != "$VIGILO_VERSION" ]
then
if $AUTOUPDATE || [ "$DBVER" == "0.0.0" ]
then
log "Upgrading DB ..."
cd /tmp/mysql
migrateDatabase.py --from $DBVER --to $VIGILO_VERSION --sql-path=/tmp/mysql
mysql -h $MYSQL_HOST -u$MYSQL_USER -p$MYSQL_PASSWORD $MYSQL_DATABASE < /tmp/mysql/sql_migration.sql
DBNEWVER=$(mysql -e "SELECT config_value FROM obs_config WHERE config_param='vigilo_db_version'" -h $MYSQL_HOST -u$MYSQL_USER -p$MYSQL_PASSWORD $MYSQL_DATABASE | tail -1 | tr -d '\n')
if [ "$DBNEWVER" == "$DBVER" ] || [ "$DBNEWVER" != "$VIGILO_VERSION" ]
then
logerr "DB upgrading problem, please debug manually ..."
else
log "DB upgraded successfully !"
fi
else
log 'Please update your database manually or set variable AUTOUPDATE to true'
fi
fi
# first arg is `-f` or `--some-option`
if [ "${1#-}" != "$1" ]; then
set -- apache2-foreground "$@"
fi
exec "$@"