Skip to content

Instantly share code, notes, and snippets.

@Chris820
Created October 23, 2019 09:41
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Chris820/cb8d07b6c41a7bffaab0821c4af7fa1d to your computer and use it in GitHub Desktop.
Save Chris820/cb8d07b6c41a7bffaab0821c4af7fa1d to your computer and use it in GitHub Desktop.
Creates a Vagrant VM running Solr 7.7. Suitable for local Drupal website development. The conf files can be found in the relevant Drupal module
Vagrant.configure("2") do |config|
config.vm.box = "ubuntu/xenial64"
config.vm.network "private_network", ip: "192.168.33.11"
config.vm.network :forwarded_port, guest: 8983, host: 8983
# Memory and CPU cores
config.vm.provider "virtualbox" do |v|
v.memory = 1024
v.cpus = 2
end
config.vm.provision "shell", inline: <<-SHELL
export DEBIAN_FRONTEND=noninteractive
echo "Update packages..."
sudo apt update
# Install Java 8
echo "Installing Java..."
sudo apt install -y openjdk-8-jdk openjdk-8-jre
java -version
# Download Solr
cd /opt
echo "Dowloading Solr..."
sudo wget --progress=bar:force:noscroll https://archive.apache.org/dist/lucene/solr/7.7.0/solr-7.7.0.tgz
# Install Solr
echo "Installing Solr..."
sudo tar xzf solr-7.7.0.tgz solr-7.7.0/bin/install_solr_service.sh --strip-components=2
sudo bash ./install_solr_service.sh solr-7.7.0.tgz
# Create solr cores for our local dev sites
echo "Create Solr cores.."
sudo su - solr -c "/opt/solr/bin/solr create -c core1 -n data_driven_schema_configs"
sudo su - solr -c "/opt/solr/bin/solr create -c core2 -n data_driven_schema_configs"
sudo su - solr -c "/opt/solr/bin/solr create -c core3 -n data_driven_schema_configs"
SHELL
# Always Start Solr
config.vm.provision "shell", run: "always", inline: "sudo service solr restart"
# Synced conf folders, one for each core
config.vm.synced_folder "~/vagrant-localsolr/conf", "/var/solr/data/core1/conf/", owner: "solr", group: "solr"
config.vm.synced_folder "~/vagrant-localsolr/conf", "/var/solr/data/core2/conf/", owner: "solr", group: "solr"
config.vm.synced_folder "~/vagrant-localsolr/conf", "/var/solr/data/core3/conf/", owner: "solr", group: "solr"
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment