|
@@ -7,6 +7,8 @@
|
7
|
7
|
# TODO: README QQCH pour les ports ? 80, 3060 et 5333
|
8
|
8
|
# TODO: generate cookie secrent (if not yet done)
|
9
|
9
|
# TODO: run uwsgi as other user
|
|
10
|
+# TODO: Gestion des migrations
|
|
11
|
+# TODO: Verbosite des logs ?
|
10
|
12
|
|
11
|
13
|
#
|
12
|
14
|
# ENVIRONMENT VARIABLES ARE:
|
|
@@ -47,6 +49,12 @@ if [ "$DATABASE_TYPE" = mysql ] ; then
|
47
|
49
|
fi
|
48
|
50
|
# engine is mysql+oursql
|
49
|
51
|
DATABASE_TYPE=mysql+oursql
|
|
52
|
+
|
|
53
|
+ # Check if database must be init
|
|
54
|
+ TEST_TABLE=$(mysql --host="$DATABASE_HOST" --user="$DATABASE_USER" --password="$DATABASE_USER" --database="$DATABASE_NAME" -s -N --execute="SELECT COUNT(*) FROM information_schema.tables WHERE table_schema = '$DATABASE_NAME' AND table_name = 'content';")
|
|
55
|
+ if [ ${TEST_TABLE} = 0 ] ; then
|
|
56
|
+ INIT_DATABASE=true
|
|
57
|
+ fi
|
50
|
58
|
fi
|
51
|
59
|
|
52
|
60
|
# PostgreSQL case
|
|
@@ -56,22 +64,21 @@ if [ "$DATABASE_TYPE" = postgresql ] ; then
|
56
|
64
|
DATABASE_PORT=5432
|
57
|
65
|
fi
|
58
|
66
|
DATABASE_SUFFIX="?client_encoding=utf8"
|
59
|
|
-fi
|
60
|
67
|
|
61
|
|
-# Update sqlalchemy.url
|
62
|
|
-sed -i "s/\(sqlalchemy.url *= *\).*/\\sqlalchemy.url = $DATABASE_TYPE:\/\/$DATABASE_USER:$DATABASE_PASSWORD@$DATABASE_HOST:$DATABASE_PORT\/$DATABASE_NAME$DATABASE_SUFFIX/" /etc/tracim/config.ini
|
63
|
|
-
|
64
|
|
-# Initialize database if it is a fresh install
|
65
|
|
-if [ "$DATABASE_TYPE" = postgresql ] ; then
|
66
|
|
- TEST_TABLE=$(PGPASSWORD="$DATABASE_PASSWORD" psql -U ${DATABASE_USER} -h ${DATABASE_HOST} -d ${DATABASE_NAME} -t -c "SELECT EXISTS (SELECT 1 FROM information_schema.tables WHERE table_schema = 'public' AND table_name = 'content' );")
|
|
68
|
+ # Check if database must be init
|
|
69
|
+ TEST_TABLE=$(PGPASSWORD="$DATABASE_PASSWORD" psql -U ${DATABASE_USER} -h ${TEST_TABLE} -d ${DATABASE_NAME} -t -c "SELECT EXISTS (SELECT 1 FROM information_schema.tables WHERE table_schema = 'public' AND table_name = 'content' );")
|
67
|
70
|
if [ ${TEST_TABLE} = f ] ; then
|
68
|
71
|
INIT_DATABASE=true
|
69
|
72
|
fi
|
70
|
73
|
fi
|
71
|
74
|
|
|
75
|
+# Initialize database if needed
|
72
|
76
|
if [ "$INIT_DATABASE" = true ] ; then
|
73
|
77
|
cd /tracim/tracim/ && gearbox setup-app -c config.ini
|
74
|
78
|
fi
|
75
|
79
|
|
|
80
|
+# Update sqlalchemy.url
|
|
81
|
+sed -i "s/\(sqlalchemy.url *= *\).*/\\sqlalchemy.url = $DATABASE_TYPE:\/\/$DATABASE_USER:$DATABASE_PASSWORD@$DATABASE_HOST:$DATABASE_PORT\/$DATABASE_NAME$DATABASE_SUFFIX/" /etc/tracim/config.ini
|
|
82
|
+
|
76
|
83
|
# Start with uwsgi
|
77
|
84
|
uwsgi --http-socket 0.0.0.0:80 /etc/tracim/uwsgi.ini
|