# http://serverfault.com/questions/491343/how-can-i-move-my-deploy-key-into-vagrant#comment549259_491345
git_ssh_key = File.read(ENV['HOME'] + '/.vagrant.d/insecure_private_key');
-# build a shell script that installs prereqs, configures the database, sets up
-# the user/group associations, pulls in the code from the host machine, sets up
-# some external dependency configs, and then runs fabric.
+# build a shell script that installs prereqs, copies over the host secrets,
+# configures the database, sets up the user/group associations, pulls in the
+# code from the host machine, sets up some external dependency configs, and
+# then runs fabric.
shellscript = <<SCRIPT
cat >>/home/vagrant/.ssh/insecure_private_key <<EOF
#{git_ssh_key}
EOF
chmod 644 /home/vagrant/.ssh/config
+export DEBIAN_FRONTEND=noninteractive
+
+add-apt-repository -y ppa:coolwanglu/pdf2htmlex # pdf2htmlex
+
apt-get update
apt-get upgrade -y
apt-get install -y python-pip postgresql python-virtualenv virtualenvwrapper \
git nginx postgresql-server-dev-9.1 libxslt1-dev \
- libxml2-dev libmemcached-dev python-dev rabbitmq-server
+ libxml2-dev libmemcached-dev python-dev rabbitmq-server \
+ p7zip-full pdf2htmlex
echo "CREATE USER vagrant WITH CREATEROLE LOGIN; CREATE DATABASE karmaworld OWNER vagrant;" | su postgres -c "psql"
su vagrant -c "git clone /vagrant karmaworld"
-SECRETPATH="karmaworld/karmaworld/secret"
-CFILE="$SECRETPATH/db_settings.py"
+SECRETPATH="karmaworld/secret"
+
+su vagrant -c "cp /vagrant/$SECRETPATH/* karmaworld/$SECRETPATH/"
+
+CFILE="karmaworld/$SECRETPATH/db_settings.py"
cat > $CFILE <<CONFIG
#!/usr/bin/env python
# -*- coding:utf8 -*-
PROD_DB_USERNAME = 'vagrant'
PROD_DB_PASSWORD = ''
CONFIG
-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
update-rc.d supervisor defaults
pip install fabric
-#su vagrant -c "cd karmaworld; fab here first_deploy"
SCRIPT
# end of script