Add elastic search installation into Vagrantfile (#26512)
This commit is contained in:
		@@ -2,3 +2,7 @@ VAGRANT=true
 | 
				
			|||||||
LOCAL_DOMAIN=mastodon.local
 | 
					LOCAL_DOMAIN=mastodon.local
 | 
				
			||||||
BIND=0.0.0.0
 | 
					BIND=0.0.0.0
 | 
				
			||||||
DB_HOST=/var/run/postgresql/
 | 
					DB_HOST=/var/run/postgresql/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					ES_ENABLED=true
 | 
				
			||||||
 | 
					ES_HOST=localhost
 | 
				
			||||||
 | 
					ES_PORT=9200
 | 
				
			||||||
							
								
								
									
										43
									
								
								Vagrantfile
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										43
									
								
								Vagrantfile
									
									
									
									
										vendored
									
									
								
							@@ -60,6 +60,37 @@ sudo usermod -a -G rvm $USER
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
SCRIPT
 | 
					SCRIPT
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					$provisionElasticsearch = <<SCRIPT
 | 
				
			||||||
 | 
					# Install Elastic Search
 | 
				
			||||||
 | 
					sudo apt install openjdk-17-jre-headless -y
 | 
				
			||||||
 | 
					sudo wget -O /usr/share/keyrings/elasticsearch.asc https://artifacts.elastic.co/GPG-KEY-elasticsearch
 | 
				
			||||||
 | 
					sudo sh -c 'echo "deb [signed-by=/usr/share/keyrings/elasticsearch.asc] https://artifacts.elastic.co/packages/7.x/apt stable main" > /etc/apt/sources.list.d/elastic-7.x.list'
 | 
				
			||||||
 | 
					sudo apt update
 | 
				
			||||||
 | 
					sudo apt install elasticsearch -y
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					sudo systemctl daemon-reload
 | 
				
			||||||
 | 
					sudo systemctl enable --now elasticsearch
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					echo 'path.data: /var/lib/elasticsearch
 | 
				
			||||||
 | 
					path.logs: /var/log/elasticsearch
 | 
				
			||||||
 | 
					network.host: 0.0.0.0
 | 
				
			||||||
 | 
					http.port: 9200
 | 
				
			||||||
 | 
					discovery.seed_hosts: ["localhost"]
 | 
				
			||||||
 | 
					cluster.initial_master_nodes: ["node-1"]' > /etc/elasticsearch/elasticsearch.yml
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					sudo systemctl restart elasticsearch
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Install Kibana
 | 
				
			||||||
 | 
					sudo apt install kibana -y
 | 
				
			||||||
 | 
					sudo systemctl enable --now kibana
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					echo 'server.host: "0.0.0.0"
 | 
				
			||||||
 | 
					elasticsearch.hosts: ["http://localhost:9200"]' > /etc/kibana/kibana.yml
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					sudo systemctl restart kibana
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					SCRIPT
 | 
				
			||||||
 | 
					
 | 
				
			||||||
$provisionB = <<SCRIPT
 | 
					$provisionB = <<SCRIPT
 | 
				
			||||||
 | 
					
 | 
				
			||||||
source "/etc/profile.d/rvm.sh"
 | 
					source "/etc/profile.d/rvm.sh"
 | 
				
			||||||
@@ -102,10 +133,8 @@ Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
  config.vm.provider :virtualbox do |vb|
 | 
					  config.vm.provider :virtualbox do |vb|
 | 
				
			||||||
    vb.name = "mastodon"
 | 
					    vb.name = "mastodon"
 | 
				
			||||||
    vb.customize ["modifyvm", :id, "--memory", "2048"]
 | 
					    vb.customize ["modifyvm", :id, "--memory", "8192"]
 | 
				
			||||||
    # Increase the number of CPUs. Uncomment and adjust to
 | 
					    vb.customize ["modifyvm", :id, "--cpus", "3"]
 | 
				
			||||||
    # increase performance
 | 
					 | 
				
			||||||
    # vb.customize ["modifyvm", :id, "--cpus", "3"]
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
    # Disable VirtualBox DNS proxy to skip long-delay IPv6 resolutions.
 | 
					    # Disable VirtualBox DNS proxy to skip long-delay IPv6 resolutions.
 | 
				
			||||||
    # https://github.com/mitchellh/vagrant/issues/1172
 | 
					    # https://github.com/mitchellh/vagrant/issues/1172
 | 
				
			||||||
@@ -141,9 +170,15 @@ Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
 | 
				
			|||||||
  config.vm.network :forwarded_port, guest: 3000, host: 3000
 | 
					  config.vm.network :forwarded_port, guest: 3000, host: 3000
 | 
				
			||||||
  config.vm.network :forwarded_port, guest: 4000, host: 4000
 | 
					  config.vm.network :forwarded_port, guest: 4000, host: 4000
 | 
				
			||||||
  config.vm.network :forwarded_port, guest: 8080, host: 8080
 | 
					  config.vm.network :forwarded_port, guest: 8080, host: 8080
 | 
				
			||||||
 | 
					  config.vm.network :forwarded_port, guest: 9200, host: 9200
 | 
				
			||||||
 | 
					  config.vm.network :forwarded_port, guest: 9300, host: 9300
 | 
				
			||||||
 | 
					  config.vm.network :forwarded_port, guest: 9243, host: 9243
 | 
				
			||||||
 | 
					  config.vm.network :forwarded_port, guest: 5601, host: 5601
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  # Full provisioning script, only runs on first 'vagrant up' or with 'vagrant provision'
 | 
					  # Full provisioning script, only runs on first 'vagrant up' or with 'vagrant provision'
 | 
				
			||||||
  config.vm.provision :shell, inline: $provisionA, privileged: false, reset: true
 | 
					  config.vm.provision :shell, inline: $provisionA, privileged: false, reset: true
 | 
				
			||||||
 | 
					  # Run with elevated privileges for Elasticsearch installation
 | 
				
			||||||
 | 
					  config.vm.provision :shell, inline: $provisionElasticsearch, privileged: true
 | 
				
			||||||
  config.vm.provision :shell, inline: $provisionB, privileged: false
 | 
					  config.vm.provision :shell, inline: $provisionB, privileged: false
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  config.vm.post_up_message = <<MESSAGE
 | 
					  config.vm.post_up_message = <<MESSAGE
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user