# Install fabric so that the KarmaWorld fabfile may be run.
# build a shell script that installs prereqs, configures the database, sets up
-# the user/group associations, pulls in the code from the host machine, and
-# then runs fabric.
+# the user/group associations, pulls in the code from the host machine, sets up
+# some external dependency configs, and then runs fabric.
shellscript = <<SCRIPT
apt-get update
apt-get upgrade -y
su vagrant -c "git clone /vagrant karmaworld"
-CFILE="karmaworld/karmaworld/secret/db_settings.py"
+SECRETPATH="karmaworld/karmaworld/secret"
+CFILE="$SECRETPATH/db_settings.py"
cat > $CFILE <<CONFIG
#!/usr/bin/env python
# -*- coding:utf8 -*-
PROD_DB_USERNAME = 'vagrant'
PROD_DB_PASSWORD = ''
CONFIG
-chown vagrant:vagrant $CFILE
+cp $SECRETPATH/filepicker.py.example $SECRETPATH/filepicker.py
+cp $SECRETPATH/static_s3.py.example $SECRETPATH/static_s3.py
+chown vagrant:vagrant $SECRETPATH/*.py
+
+cat > /etc/nginx/sites-available/karmaworld <<CONFIG
+server {
+ listen 80;
+ # don't do virtual hosting, handle all requests regardless of header
+ server_name "";
+ client_max_body_size 20M;
+
+ location / {
+ # pass traffic through to gunicorn
+ proxy_pass http://127.0.0.1:8000;
+ }
+}
+CONFIG
+rm /etc/nginx/sites-enabled/default
+ln -s /etc/nginx/sites-available/karmaworld /etc/nginx/sites-enabled/karmaworld
+sudo service nginx restart
+
+cp karmaworld/confs/prod/supervisor /etc/init.d
+chmod 755 /etc/init.d/supervisor
+update-rc.d supervisor defaults
pip install fabric
#su vagrant -c "cd karmaworld; fab here first_deploy"