|  | @@ -1,6 +1,6 @@
 | 
	
		
			
			| 1 | 1 |  #!/usr/bin/env bash
 | 
	
		
			
			| 2 | 2 |  
 | 
	
		
			
			| 3 |  | -# TODO: generate cookie secrent (if not yet done)
 | 
	
		
			
			|  | 3 | +# TODO: generate cookie secret (if not yet done)
 | 
	
		
			
			| 4 | 4 |  # TODO: run uwsgi as other user
 | 
	
		
			
			| 5 | 5 |  # TODO: Gestion des migrations
 | 
	
		
			
			| 6 | 6 |  # TODO: Verbosite des logs ?
 | 
	
	
		
			
			|  | @@ -23,6 +23,9 @@ PULL=${PULL:=1}
 | 
	
		
			
			| 23 | 23 |  
 | 
	
		
			
			| 24 | 24 |  # Check environment variables
 | 
	
		
			
			| 25 | 25 |  /tracim/check_env_vars.sh
 | 
	
		
			
			|  | 26 | +if [ ! "$?" = 0 ]; then
 | 
	
		
			
			|  | 27 | +    exit 1
 | 
	
		
			
			|  | 28 | +fi
 | 
	
		
			
			| 26 | 29 |  
 | 
	
		
			
			| 27 | 30 |  # If PULL is set, change repository HEAD
 | 
	
		
			
			| 28 | 31 |  if [ "$PULL" = 1 ]; then
 | 
	
	
		
			
			|  | @@ -34,18 +37,13 @@ fi
 | 
	
		
			
			| 34 | 37 |  if [ ! -f /etc/tracim/config.ini ]; then
 | 
	
		
			
			| 35 | 38 |      cp /tracim/tracim/development.ini.base /etc/tracim/config.ini
 | 
	
		
			
			| 36 | 39 |  fi
 | 
	
		
			
			| 37 |  | -ln -s /etc/tracim/config.ini /tracim/tracim/config.ini
 | 
	
		
			
			|  | 40 | +ln -sf /etc/tracim/config.ini /tracim/tracim/config.ini
 | 
	
		
			
			| 38 | 41 |  
 | 
	
		
			
			| 39 | 42 |  # Create wsgidav.conf file if no exist
 | 
	
		
			
			| 40 | 43 |  if [ ! -f /etc/tracim/wsgidav.conf ]; then
 | 
	
		
			
			| 41 | 44 |      cp /tracim/tracim/wsgidav.conf.sample /etc/tracim/wsgidav.conf
 | 
	
		
			
			| 42 | 45 |  fi
 | 
	
		
			
			| 43 |  | -ln -s /etc/tracim/wsgidav.conf /tracim/tracim/wsgidav.conf
 | 
	
		
			
			| 44 |  | -
 | 
	
		
			
			| 45 |  | -# Create uwsgi file if no exist
 | 
	
		
			
			| 46 |  | -if [ ! -f /etc/tracim/uwsgi.ini ]; then
 | 
	
		
			
			| 47 |  | -    cp /tracim/tracim/uwsgi.ini.template /etc/tracim/uwsgi.ini
 | 
	
		
			
			| 48 |  | -fi
 | 
	
		
			
			|  | 46 | +ln -sf /etc/tracim/wsgidav.conf /tracim/tracim/wsgidav.conf
 | 
	
		
			
			| 49 | 47 |  
 | 
	
		
			
			| 50 | 48 |  # MySQL case
 | 
	
		
			
			| 51 | 49 |  if [ "$DATABASE_TYPE" = mysql ] ; then
 | 
	
	
		
			
			|  | @@ -95,6 +93,9 @@ else
 | 
	
		
			
			| 95 | 93 |      sed -i "s/\(sqlalchemy.url *= *\).*/\\sqlalchemy.url = sqlite:\/\/\/\/var\/tracim\/tracim.db/" /etc/tracim/config.ini
 | 
	
		
			
			| 96 | 94 |  fi
 | 
	
		
			
			| 97 | 95 |  
 | 
	
		
			
			|  | 96 | +# Start redis server (for async email sending if configured)
 | 
	
		
			
			|  | 97 | +service redis-server start
 | 
	
		
			
			|  | 98 | +
 | 
	
		
			
			| 98 | 99 |  # Initialize database if needed
 | 
	
		
			
			| 99 | 100 |  if [ "$INIT_DATABASE" = true ] ; then
 | 
	
		
			
			| 100 | 101 |      cd /tracim/tracim/ && gearbox setup-app -c config.ini
 | 
	
	
		
			
			|  | @@ -102,9 +103,17 @@ fi
 | 
	
		
			
			| 102 | 103 |  
 | 
	
		
			
			| 103 | 104 |  # Upgrade database
 | 
	
		
			
			| 104 | 105 |  if [ "$PULL" = 1 ]; then
 | 
	
		
			
			| 105 |  | -    echo "Upgrade Tracim database id required"
 | 
	
		
			
			|  | 106 | +    echo "Upgrade Tracim database if required"
 | 
	
		
			
			| 106 | 107 |      cd /tracim/tracim/ && gearbox migrate upgrade
 | 
	
		
			
			| 107 | 108 |  fi
 | 
	
		
			
			| 108 | 109 |  
 | 
	
		
			
			| 109 |  | -# Start with uwsgi
 | 
	
		
			
			| 110 |  | -uwsgi --http-socket 0.0.0.0:80 /etc/tracim/uwsgi.ini
 | 
	
		
			
			|  | 110 | +service nginx start
 | 
	
		
			
			|  | 111 | +
 | 
	
		
			
			|  | 112 | +ln -sf /var/log/uwsgi/app/tracim.log /var/tracim/logs/uwsgi.log
 | 
	
		
			
			|  | 113 | +ln -sf /var/log/nginx/access.log /var/tracim/logs/nginx-access.log
 | 
	
		
			
			|  | 114 | +ln -sf /var/log/nginx/error.log /var/tracim/logs/nginx-error.log
 | 
	
		
			
			|  | 115 | +mkdir -p /var/run/uwsgi/app/tracim/
 | 
	
		
			
			|  | 116 | +chown www-data:www-data -R /var/run/uwsgi
 | 
	
		
			
			|  | 117 | +chown www-data:www-data -R /var/tracim
 | 
	
		
			
			|  | 118 | +
 | 
	
		
			
			|  | 119 | +uwsgi -i /etc/uwsgi/apps-available/tracim.ini --uid www-data --gid www-data
 |