Added Vagrant support

Still needs to configure passwords etc, but it’s a lot easier to set up
now.
This commit is contained in:
Trent Bartlem 2014-11-03 17:11:34 +10:00
parent f0e62f7f83
commit 4923204f76
4 changed files with 83 additions and 0 deletions

2
.gitignore vendored
View File

@ -52,3 +52,5 @@ docs/_build/
# PyBuilder
target/
.vagrant/

24
Vagrantfile vendored Normal file
View File

@ -0,0 +1,24 @@
# -*- mode: ruby -*-
# vi: set ft=ruby :
# Vagrantfile API/syntax version. Don't touch unless you know what you're doing!
VAGRANTFILE_API_VERSION = "2"
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
# All Vagrant configuration is done here. The most common configuration
# options are documented and commented below. For a complete reference,
# please see the online documentation at vagrantup.com.
config.vm.box = "ubuntu/precise32"
# Note: if it complains about guest extension versions, you can manually install them
# because each VirtualBox installation has the capability of mounting an ISO virtual
# CD to install its guest extension from.
# Create a forwarded port mapping which allows access to a specific port
# within the machine from a port on the host machine.
config.vm.network :forwarded_port, guest: 3306, host: 3306
config.vm.provision :shell, :path => "bootstrap.sh"
end

43
bootstrap.sh Normal file
View File

@ -0,0 +1,43 @@
#!/usr/bin/env bash
sudo apt-get update
sudo apt-get clean
sudo apt-get -y install libtool
sudo apt-get -y install python-dev libyaml-dev libffi-dev
sudo apt-get -y install python-pip
cd /vagrant/
sudo pip install --upgrade pip
sudo ln -s /usr/local/bin/pip /usr/bin/pip 2>/dev/null
sudo apt-get -y install libmysqlclient-dev
sudo pip install --allow-external mysql-connector-python mysql-connector-python
sudo pip install --allow-external python-openfire python-openfire==0.2.3-beta
sudo pip install https://github.com/eve-val/evelink/zipball/master
sudo pip install --allow-external libffi-dev libffi-dev
#TODO collect user input and use that to populate the passwords
sudo apt-get -y install mysql-server-5.5
sudo apt-get -y install rabbitmq-server
sudo apt-get -y install python-xmpp
sudo pip install -r requirements.txt
# TODO Extract the rest of this file to separate shell script
## comment out bootstrap_permissions() before sync, as per instructions
#cp groupmanagement/__init__.py groupmanagement/__init__.py.bak
#sed "s/bootstrap_permissions()/#bootstrap_permissions()/" groupmanagement/__init__.py.bak > groupmanagement/__init__.py
#python manage.py syncdb
#mv groupmanagement/__init__.py.bak groupmanagement/__init__.py
#python manage.py celeryd --verbosity=2 --loglevel=DEBUG
#python manage.py celerybeat --verbosity=2 --loglevel=DEBUG
#python manage.py runserver

14
requirements.txt Normal file
View File

@ -0,0 +1,14 @@
# Python Stuff # - see bootstrap.sh
mysql-python
dnspython
passlib
# Django Stuff #
django==1.6.1
django-evolution
django-bootstrap-form
django-celery
# Needed Apps
bcrypt