Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # -*- mode: ruby -*-
- # vi: set ft=ruby :
- # This Vagrantfile installs a basic Python/Django environment
- VAGRANTFILE_API_VERSION = '2'
- APP_NAME = 'project'
- @script = <<-SCRIPT
- apt-get update -y && apt-get upgrade
- echo "#################### BASIC PACKAGES ####################"
- apt-get install -y apt-utils
- echo "#################### PYTHON ####################"
- apt-get install -y python3 python3-pip
- ln -s /usr/bin/python3 /usr/bin/python
- echo "#################### PYTHON VIRTUAL ENVIRONMENTS ####################"
- pip3 install virtualenvwrapper
- # Append the virtual environment configs into the .bashrc file
- BASHRC=$(cat <<EOF
- \n\n# Virtualenv settings\n
- export WORKON_HOME=~vagrant/.virtualenvs
- export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3
- export VIRTUALENVWRAPPER_VIRTUALENV_ARGS=' -p /usr/bin/python3 '
- export PROJECT_HOME=/vagrant
- source /usr/local/bin/virtualenvwrapper.sh
- EOF
- )
- echo "${BASHRC}" >> ~vagrant/.bashrc
- source ~/.bashrc
- echo "#################### Django ####################"
- # Reference: https://developer.mozilla.org/en-US/docs/Learn/Server-side/Django/development_environment#installing_the_virtual_environment_software
- #mkvirtualenv django_#{APP_NAME}
- #cd django_#{APP_NAME}
- #pip3 install Django
- ### django-admin startproject #{APP_NAME}
- echo "#################### FINISHED! ####################"
- echo "To run server: $ python manage.py runserver"
- echo "To run migrations: $ python manage.py migrate"
- echo "** [Python] Visit http://localhost:8000 in your browser for to view the application **"
- SCRIPT
- # Use the command: workon name_of_environment
- # To exit a virtual environment, use command: deactivate
- Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
- config.vm.box = 'ubuntu/bionic64'
- config.vbguest.auto_update
- config.ssh.insert_key = false
- config.vm.network "forwarded_port", guest: 80, host: 8000
- config.vm.network "forwarded_port", guest: 443, host: 8081
- config.vm.network "forwarded_port", guest: 3306, host: 3307
- # Provision runs only on the first "Vagrant up" command
- config.vm.provision 'shell', privileged: true, inline: @script
- config.vm.provider "virtualbox" do |vb|
- vb.customize ["modifyvm", :id, "--memory", "2048"]
- vb.customize ['modifyvm', :id, "--natdnshostresolver1", "on"]
- #vb.customize ["modifyvm", :id, "--name", "domain.com"]
- end
- end
Add Comment
Please, Sign In to add comment