Browse Source

cookie secret + modify configs only at config creation + wsgi config for logging

Bastien Sevajol 7 years ago
parent
commit
a01e641891
2 changed files with 21 additions and 8 deletions
  1. 13 7
      docker/Debian_Uwsgi/entrypoint.sh
  2. 8 1
      docker/Debian_Uwsgi/wsgi.py

+ 13 - 7
docker/Debian_Uwsgi/entrypoint.sh View File

@@ -1,10 +1,5 @@
1 1
 #!/usr/bin/env bash
2 2
 
3
-# TODO: generate cookie secret (if not yet done)
4
-# TODO: run uwsgi as other user
5
-# TODO: Gestion des migrations
6
-# TODO: Verbosite des logs ?
7
-
8 3
 #
9 4
 # ENVIRONMENT VARIABLES ARE:
10 5
 #
@@ -20,6 +15,7 @@
20 15
 # Default values
21 16
 # TODO: Voir avec Damien si c'est le comportement souhaité
22 17
 PULL=${PULL:=1}
18
+CONFIG_FILE_IS_NEW=0
23 19
 
24 20
 # Check environment variables
25 21
 /tracim/check_env_vars.sh
@@ -35,6 +31,7 @@ fi
35 31
 
36 32
 # Create config.ini file if no exist
37 33
 if [ ! -f /etc/tracim/config.ini ]; then
34
+    CONFIG_FILE_IS_NEW=1
38 35
     cp /tracim/tracim/development.ini.base /etc/tracim/config.ini
39 36
 fi
40 37
 ln -sf /etc/tracim/config.ini /tracim/tracim/config.ini
@@ -83,8 +80,17 @@ if [ "$DATABASE_TYPE" = sqlite ] ; then
83 80
     fi
84 81
 fi
85 82
 
86
-# Update radicale file system folder config
87
-sed -i "s/\(# radicale.server.filesystem.folder *= *\).*/radicale.server.filesystem.folder = \/var\/tracim\/radicale/" /etc/tracim/config.ini
83
+# Some configs are require if it's a fresh config file
84
+if [ "$CONFIG_FILE_IS_NEW" = 1 ] ; then
85
+    # Update radicale file system folder config
86
+    sed -i "s/\(# radicale.server.filesystem.folder *= *\).*/radicale.server.filesystem.folder = \/var\/tracim\/radicale/" /etc/tracim/config.ini
87
+    # Update secret
88
+    # TODO: test it
89
+    SECRET=$(python -c "import uuid; print(str(uuid.uuid4()))")
90
+    sed -i "s/\(cookie_secret *= *\).*/cookie_secret = $SECRET/" /etc/tracim/config.ini
91
+    sed -i "s/\(beaker.session.secret *= *\).*/beaker.session.secret = $SECRET/" /etc/tracim/config.ini
92
+    sed -i "s/\(beaker.session.validate_key *= *\).*/beaker.session.validate_key = $SECRET/" /etc/tracim/config.ini
93
+fi
88 94
 
89 95
 # Update sqlalchemy.url config
90 96
 if ! [ "$DATABASE_TYPE" = sqlite ] ; then

+ 8 - 1
docker/Debian_Uwsgi/wsgi.py View File

@@ -1,5 +1,12 @@
1 1
 # -*- coding: utf-8 -*-
2
-from paste.deploy import loadapp
3 2
 
3
+APP_CONFIG = '{{ instance.tracim_config_file_path }}'
4
+
5
+# Setup logging
6
+import logging
7
+import logging.config
8
+logging.config.fileConfig('/tracim/tracim/config.ini')
9
+
10
+from paste.deploy import loadapp
4 11
 application = loadapp('config:/tracim/tracim/config.ini')
5 12
 application.debug = False