Created
March 4, 2014 18:07
-
-
Save montogeek/9352175 to your computer and use it in GitHub Desktop.
My Vagrant file
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# -*- mode: ruby -*- | |
# vi: set ft=ruby : | |
# Config Github Settings | |
github_username = "fideloper" | |
github_repo = "Vaprobash" | |
github_branch = "master" | |
# Server Configuration | |
server_ip = "192.168.33.10" | |
server_memory = "384" # MB | |
server_timezone = "UTC" | |
# Database Configuration | |
mysql_root_password = "root" # We'll assume user "root" | |
mysql_version = "5.5" # Options: 5.5 | 5.6 | |
pgsql_root_password = "root" # We'll assume user "root" | |
mariadb_version = "10.0" # Options: 5.5 | 10.0 | |
mariadb_root_password = "root" # We'll assume user "root" | |
# Languages and Packages | |
ruby_version = "latest" # Choose what ruby version should be installed (will also be the default version) | |
ruby_gems = [ # List any Ruby Gems that you want to install | |
#"jekyll", | |
#"sass", | |
#"compass", | |
] | |
php_version = "latest" # Options: latest|previous|distributed For 12.04. latest=5.5, previous=5.4, distributed=5.3 | |
composer_packages = [ # List any global Composer packages that you want to install | |
#"phpunit/phpunit:3.7.*", | |
#"codeception/codeception=*", | |
] | |
laravel_root_folder = "/vagrant/laravel" # Where to install Laravel. Will `composer install` if a composer.json file exists | |
symfony_root_folder = "/vagrant/symfony" # Where to install Symfony. | |
nodejs_version = "latest" # By default "latest" will equal the latest stable version | |
nodejs_packages = [ # List any global NodeJS packages that you want to install | |
#"grunt-cli", | |
#"bower", | |
#"yo", | |
] | |
Vagrant.configure("2") do |config| | |
# Set server to Ubuntu 12.04 | |
config.vm.box = "precise64" | |
config.vm.box_url = "http://files.vagrantup.com/precise64.box" | |
# If using VMWare Fusion Provider: | |
# config.vm.box_url = "http://files.vagrantup.com/precise64_vmware.box" | |
# Create a hostname, don't forget to put it to the `hosts` file | |
config.vm.hostname = "simr.dev" | |
# Create a static IP | |
config.vm.network :private_network, ip: server_ip | |
# PostgreSQL | |
config.vm.network :forwarded_port, guest: 5432, host: 5432 | |
# Use NFS for the shared folder | |
# config.vm.synced_folder ".", "/vagrant", | |
# id: "core", | |
# :nfs => true, | |
# :mount_options => ['nolock,vers=3,udp,noatime'] | |
# If using VirtualBox | |
config.vm.provider :virtualbox do |vb| | |
# Set server memory | |
vb.customize ["modifyvm", :id, "--memory", server_memory] | |
# Set the timesync threshold to 10 seconds, instead of the default 20 minutes. | |
# If the clock gets more than 15 minutes out of sync (due to your laptop going | |
# to sleep for instance, then some 3rd party services will reject requests. | |
vb.customize ["guestproperty", "set", :id, "/VirtualBox/GuestAdd/VBoxService/--timesync-set-threshold", 10000] | |
# Prevent VMs running on Ubuntu to lose internet connection | |
# vb.customize ["modifyvm", :id, "--natdnshostresolver1", "on"] | |
# vb.customize ["modifyvm", :id, "--natdnsproxy1", "on"] | |
end | |
# If using VMWare Fusion | |
# config.vm.provider :vmware_workstation do |vb| | |
# Set server memory | |
# vb.vmx["memsize"] = server_memory | |
# end | |
#### | |
# Base Items | |
########## | |
# Provision Base Packages | |
config.vm.provision "shell", path: "https://raw.github.com/#{github_username}/#{github_repo}/#{github_branch}/scripts/base.sh" | |
# Provision PHP | |
config.vm.provision "shell", path: "https://raw.github.com/#{github_username}/#{github_repo}/#{github_branch}/scripts/php.sh", args: [php_version, server_timezone] | |
# Enable MSSQL for PHP | |
# config.vm.provision "shell", path: "https://raw.github.com/#{github_username}/#{github_repo}/#{github_branch}/scripts/mssql.sh" | |
# Provision Oh-My-Zsh | |
# config.vm.provision "shell", path: "https://raw.github.com/#{github_username}/#{github_repo}/#{github_branch}/scripts/zsh.sh" | |
# Provision Vim | |
# config.vm.provision "shell", path: "https://raw.github.com/#{github_username}/#{github_repo}/#{github_branch}/scripts/vim.sh" | |
#### | |
# Web Servers | |
########## | |
# Provision Apache Base | |
config.vm.provision "shell", path: "https://raw.github.com/#{github_username}/#{github_repo}/#{github_branch}/scripts/apache.sh", args: server_ip | |
# Provision HHVM | |
# Install HHVM & HHVM-FastCGI | |
# config.vm.provision "shell", path: "https://raw.github.com/#{github_username}/#{github_repo}/#{github_branch}/scripts/hhvm.sh" | |
# Provision Nginx Base | |
# config.vm.provision "shell", path: "https://raw.github.com/#{github_username}/#{github_repo}/#{github_branch}/scripts/nginx.sh", args: server_ip | |
#### | |
# Databases | |
########## | |
# Provision MySQL | |
# config.vm.provision "shell", path: "https://raw.github.com/#{github_username}/#{github_repo}/#{github_branch}/scripts/mysql.sh", args: [mysql_root_password, mysql_version] | |
# Provision PostgreSQL | |
config.vm.provision "shell", path: "https://raw.github.com/#{github_username}/#{github_repo}/#{github_branch}/scripts/pgsql.sh", args: pgsql_root_password | |
# Provision SQLite | |
# config.vm.provision "shell", path: "https://raw.github.com/#{github_username}/#{github_repo}/#{github_branch}/scripts/sqlite.sh" | |
# Provision Couchbase | |
# config.vm.provision "shell", path: "https://raw.github.com/#{github_username}/#{github_repo}/#{github_branch}/scripts/couchbase.sh" | |
# Provision CouchDB | |
# config.vm.provision "shell", path: "https://raw.github.com/#{github_username}/#{github_repo}/#{github_branch}/scripts/couchdb.sh" | |
# Provision MongoDB | |
# config.vm.provision "shell", path: "https://raw.github.com/#{github_username}/#{github_repo}/#{github_branch}/scripts/mongodb.sh" | |
# Provision MariaDB | |
# config.vm.provision "shell", path: "https://raw.github.com/#{github_username}/#{github_repo}/#{github_branch}/scripts/mariadb.sh", args: [mariadb_root_password, mariadb_version] | |
#### | |
# Search Servers | |
########## | |
# Install Elasticsearch | |
# config.vm.provision "shell", path: "https://raw.github.com/#{github_username}/#{github_repo}/#{github_branch}/scripts/elasticsearch.sh" | |
#### | |
# Search Server Administration (web-based) | |
########## | |
# Install ElasticHQ | |
# Admin for: Elasticsearch | |
# Works on: Apache2, Nginx | |
# config.vm.provision "shell", path: "https://raw.github.com/#{github_username}/#{github_repo}/#{github_branch}/scripts/elastichq.sh" | |
#### | |
# In-Memory Stores | |
########## | |
# Install Memcached | |
# config.vm.provision "shell", path: "https://raw.github.com/#{github_username}/#{github_repo}/#{github_branch}/scripts/memcached.sh" | |
# Provision Redis (without journaling and persistence) | |
# config.vm.provision "shell", path: "https://raw.github.com/#{github_username}/#{github_repo}/#{github_branch}/scripts/redis.sh" | |
# Provision Redis (with journaling and persistence) | |
# config.vm.provision "shell", path: "https://raw.github.com/#{github_username}/#{github_repo}/#{github_branch}/scripts/redis.sh", args: "persistent" | |
# NOTE: It is safe to run this to add persistence even if originally provisioned without persistence | |
#### | |
# Utility (queue) | |
########## | |
# Install Beanstalkd | |
# config.vm.provision "shell", path: "https://raw.github.com/#{github_username}/#{github_repo}/#{github_branch}/scripts/beanstalkd.sh" | |
#### | |
# Additional Languages | |
########## | |
# Install Nodejs | |
# config.vm.provision "shell", path: "https://raw.github.com/#{github_username}/#{github_repo}/#{github_branch}/scripts/nodejs.sh", privileged: false, args: nodejs_packages.unshift(nodejs_version) | |
# Install Ruby Version Manager (RVM) | |
# config.vm.provision "shell", path: "https://raw.github.com/#{github_username}/#{github_repo}/#{github_branch}/scripts/rvm.sh", privileged: false, args: ruby_gems.unshift(ruby_version) | |
#### | |
# Frameworks and Tooling | |
########## | |
# Provision Composer | |
config.vm.provision "shell", path: "https://raw.github.com/#{github_username}/#{github_repo}/#{github_branch}/scripts/composer.sh", privileged: false, args: composer_packages.join(" ") | |
# Provision Laravel | |
config.vm.provision "shell", path: "https://raw.github.com/#{github_username}/#{github_repo}/#{github_branch}/scripts/laravel.sh", args: [server_ip, laravel_root_folder] | |
# Provision Symfony | |
# config.vm.provision "shell", path: "https://raw.github.com/#{github_username}/#{github_repo}/#{github_branch}/scripts/symfony.sh", args: [server_ip, symfony_root_folder] | |
# Install Screen | |
# config.vm.provision "shell", path: "https://raw.github.com/#{github_username}/#{github_repo}/#{github_branch}/scripts/screen.sh" | |
# Install Supervisord | |
# config.vm.provision "shell", path: "https://raw.github.com/#{github_username}/#{github_repo}/#{github_branch}/scripts/supervisord.sh" | |
# Install Mailcatcher | |
# config.vm.provision "shell", path: "https://raw.github.com/#{github_username}/#{github_repo}/#{github_branch}/scripts/mailcatcher.sh" | |
end |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment