A Vagrant box serving as a development machine. It's automatically built using Packer and Ansible. Read the related blog post.
Part of the Open Development Environment Project.
For a list of changes, have a look at the changelog
These are the dependencies required to run the box:
- Vagrant 2.0.3+
- Virtualbox 5.2.8+
To use the box:
- Install the dependencies
- Run
vagrant init ferrarimarco/open-development-environment-devbox
to initialize aVagrantfile
for this box - Run
vagrant up
There is a vagrant
user already configured, password: vagrant
This "development box" is based on Ubuntu with an XFCE Desktop environment and includes the following tools, ready to be used:
- Ansible
- Atom editor, along with the plugins listed in the playbook
- bmon
- Chromium
- cookiecutter
- curl
- Docker
- docker-clean
- Docker Compose
- Dockerlint
- Eclipse with the plugins that the ferrarimarco.eclipse Ansible role installs by default
- Github Changelog Generator
- Git
- glogg
- hadolint
- Imagemagick
- Inspec
- Java 8 (OpenJDK)
- JMeter
- Libreoffice Calc
- Liquibase
- Maven 3
- Nano
- Nethogs
- Oracle SQL Developer: see note below
- pgAdmin4
- pip
- PSScriptAnalyzer
- Python
- Ruby (with ruby-install and chruby)
- Shellcheck
- Subversion
The following aliases are automatically set up during the provisioning process:
changelog-generator
: to run Github Changelog Generatordocker-clean
: to run docker-cleandockerfile-lint
: to run hadolint and dockerlint on every Dockerfile in the current directory and its subdirectoriesgit-log1
,git-log2
,git-log3
: see open-development-environment-git for detailspgadmin4
: to start a container running pgAdmin4 in single user mode and then open a browser window pointing to it. Data is saved in an external volume mapped to/home/vagrant/.pgadmin4
psscriptanalyzer
: to run PSScriptAnalyzer on every Powershell script in the current directory and its subdirectoriesshellcheck
: to run Shellcheck on every shell script in the current directory and its subdirectories
Vagrant.configure("2") do |config|
config.vm.box = "ferrarimarco/open-development-environment-devbox"
config.vm.network "private_network", type: "dhcp"
config.vm.provider "virtualbox" do |v|
v.customize ["modifyvm", :id, "--cpus", 4]
v.customize ["modifyvm", :id, "--clipboard", "bidirectional"]
v.customize ["modifyvm", :id, "--memory", 4096]
v.customize ["modifyvm", :id, "--natdnshostresolver1", "on"]
v.customize ["modifyvm", :id, "--natdnsproxy1", "on"]
v.customize ["modifyvm", :id, "--vram", "128"] # 10 MB is the minimum to enable Virtualbox seamless mode
# Display the VirtualBox GUI
v.gui = true
end
end
If you have suggestions, please create a new GitHub issue or pull request.
- runtime dependencies listed above
- GNU Make 4.1+
- Packer 1.2.1+
- Install the dependencies
- Clone the repository
- Run
make
- Bundler 1.13.0+
- Ruby 2.3.0+
- Docker 1.12.0+
- See
Gemfile
Ssee .travis.yml
Due to licensing reasons, we cannot include the SQL Developer setup package. Download it manually from Oracle Website and place it in provisioning/downloads/
and update sql_developer_path
value in the variables
section of the template
(or provide your own variables
file).