A Vagrant box for VirtualBox to develop Django projects.
Base box is a Boxcutter Ubuntu box running Ubuntu Server 16.04 LTS.
This Vagrant box comes with pre-installed packages that are useful for everyday Django development.
- PostgreSQL 9.5 and libpq-dev 9.5.6
- SQLite 3.11.0
- ack 2.14
- cloc 1.60
- curl 7.47.0
- gettext 0.19.7
- Git 2.7.4
- git-flow (AVH Edition) 1.9.1
- bash-git-prompt 2.6.1
- Graphviz 2.38.0
- httpie 0.9.2
- iftop 1.0pre4
- jq 1.5
- pgAdmin4 1.2
- ranger 1.9.0b4
- atool 0.39.0
- caca-utils 0.99.beta19
- highlight 3.18
- mediainfo 0.7.82
- poppler-utils 0.41.0
- w3m 0.5.3
- Screen 4.3.1
- The Silver Searcher 0.31.0
- thefuck 3.14
- tig 2.0.2
- tree 1.7.0
- heroku CLI 5.6.29
- An empty "django" virtual Python environment, automatically activated after login
- A
recreate
command to recreate the current virtual Python environment (useful to uninstall all Python packages) - Glances 2.7.1, to monitor the box itself
- wkhtmltopdf 0.12.2.4 with xvfb 1.18.4
- lxml dependencies
- libxslt1-dev 1.1.28
- pillow dependencies
- libtiff5-dev 4.0.6
- libjpeg-dev 8c
- zlib1g-dev 1.2.8
- libfreetype6-dev 2.6.1
- liblcms2-dev 2.6
- libwebp-dev 0.4.4
- During the first login you will be asked for your full name and email address to be used for your Git commits
- Git has already been configured with
push.default = simple
- A PostgreSQL database named "django" has already been created for you
- User and password for the PostgreSQL database are both
django
(user is superuser) - PostgreSQL database name and user are also available as environment variables
DB_NAME
andDB_USER
- APT is configured to use German Ubuntu mirror servers
- An environment variable
ENV=vagrant
has been set, to be used in scripts etc. - Port 8000 on the guest will be forwarded to the same port on the host (used for the Django development web server)
- Port 5050 on the guest will be forwarded to the same port on the host (used for pgAdmin4, needs to be started manually)
- Port 61208 on the guest will be forwarded to the same port on the host (used for the Glances web server, runs in the background as a service)
- Auto correction for port forwarding is enabled, so port numbers can be different - use the
vagrant port
command to display them - Timezone is set to Europe/Berlin
Download Vagrant 1.9.x and VirtualBox 5.1.x for your operating system and architecture, then install both.
To create and boot a new Vagrant box run:
$ vagrant init --minimal transcode/django $ vagrant up
Now connect to the new box:
$ vagrant ssh
That's it! Now change your working directory to /vagrant
and start working
on your Django project!
To check for updates for your existing transcode/django Vagrant box run:
$ vagrant box outdated
This command will show you if a new version of the box is available. (An update
check is also performed every time you run vagrant up
.)
If a new version is available, update the box:
$ vagrant destroy --force $ vagrant box update
Warning
This will destroy all data in the Vagrant box! Only the files in
/vagrant
will be kept.
After a successful upgrade clean up the old Vagrant boxes:
$ vagrant box prune
Then boot and connect to the new Vagrant box:
$ vagrant up $ vagrant ssh
This repository contains a Makefile
with tasks to build, package and upload
the Vagrant box to Amazon S3.
To build and upload a Vagrant box run:
$ git clone https://github.com/transcode-de/django-vagrant-box $ make all
Everyone interacting in the django-vagrant-box project's codebases, issue trackers, chat rooms and mailing lists is expected to follow the PyPA Code of Conduct.
Distributed under the BSD 3-Clause license.
Copyright (c) 2016-2017, Markus Zapke-Gründemann