12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- #!/bin/bash
- PROJECT_NAME=$1
- PROJECT_DIR=/vagrant
- VIRTUALENV_DIR=/home/vagrant/.virtualenvs/$PROJECT_NAME
- PYTHON=$VIRTUALENV_DIR/bin/python
- PIP=$VIRTUALENV_DIR/bin/pip
- # Create database
- su - vagrant -c "createdb $PROJECT_NAME"
- # Virtualenv setup for project
- su - vagrant -c "virtualenv --python=python3 $VIRTUALENV_DIR"
- # Replace previous line with this if you are using Python 2
- # su - vagrant -c "virtualenv --python=python2 $VIRTUALENV_DIR"
- su - vagrant -c "echo $PROJECT_DIR > $VIRTUALENV_DIR/.project"
- # Upgrade PIP
- su - vagrant -c "$PIP install --upgrade pip"
- # Install PIP requirements
- su - vagrant -c "$PIP install -r $PROJECT_DIR/requirements.txt"
- # Set execute permissions on manage.py as they get lost if we build from a zip file
- chmod a+x $PROJECT_DIR/manage.py
- # Run syncdb/migrate/load_initial_data/update_index
- su - vagrant -c "$PYTHON $PROJECT_DIR/manage.py migrate --noinput && \
- $PYTHON $PROJECT_DIR/manage.py load_initial_data && \
- $PYTHON $PROJECT_DIR/manage.py update_index"
- # Add a couple of aliases to manage.py into .bashrc
- cat << EOF >> /home/vagrant/.bashrc
- export PYTHONPATH=$PROJECT_DIR
- export DJANGO_SETTINGS_MODULE=$PROJECT_NAME.settings.dev
- alias dj="django-admin.py"
- alias djrun="dj runserver 0.0.0.0:8000"
- source $VIRTUALENV_DIR/bin/activate
- export PS1="[$PROJECT_NAME \W]\\$ "
- cd $PROJECT_DIR
- EOF
|