@@ -60,6 +60,37 @@ sudo usermod -a -G rvm $USER
60
60
61
61
SCRIPT
62
62
63
+ $provisionElasticsearch = <<SCRIPT
64
+ # Install Elastic Search
65
+ sudo apt install openjdk-17-jre-headless -y
66
+ sudo wget -O /usr/share/keyrings/elasticsearch.asc https://artifacts.elastic.co/GPG-KEY-elasticsearch
67
+ 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'
68
+ sudo apt update
69
+ sudo apt install elasticsearch -y
70
+
71
+ sudo systemctl daemon-reload
72
+ sudo systemctl enable --now elasticsearch
73
+
74
+ echo 'path.data: /var/lib/elasticsearch
75
+ path.logs: /var/log/elasticsearch
76
+ network.host: 0.0.0.0
77
+ http.port: 9200
78
+ discovery.seed_hosts: ["localhost"]
79
+ cluster.initial_master_nodes: ["node-1"]' > /etc/elasticsearch/elasticsearch.yml
80
+
81
+ sudo systemctl restart elasticsearch
82
+
83
+ # Install Kibana
84
+ sudo apt install kibana -y
85
+ sudo systemctl enable --now kibana
86
+
87
+ echo 'server.host: "0.0.0.0"
88
+ elasticsearch.hosts: ["http://localhost:9200"]' > /etc/kibana/kibana.yml
89
+
90
+ sudo systemctl restart kibana
91
+
92
+ SCRIPT
93
+
63
94
$provisionB = <<SCRIPT
64
95
65
96
source "/etc/profile.d/rvm.sh"
@@ -102,10 +133,8 @@ Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
102
133
103
134
config . vm . provider :virtualbox do |vb |
104
135
vb . name = "mastodon"
105
- vb . customize [ "modifyvm" , :id , "--memory" , "2048" ]
106
- # Increase the number of CPUs. Uncomment and adjust to
107
- # increase performance
108
- # vb.customize ["modifyvm", :id, "--cpus", "3"]
136
+ vb . customize [ "modifyvm" , :id , "--memory" , "8192" ]
137
+ vb . customize [ "modifyvm" , :id , "--cpus" , "3" ]
109
138
110
139
# Disable VirtualBox DNS proxy to skip long-delay IPv6 resolutions.
111
140
# https://github.com/mitchellh/vagrant/issues/1172
@@ -141,9 +170,15 @@ Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
141
170
config . vm . network :forwarded_port , guest : 3000 , host : 3000
142
171
config . vm . network :forwarded_port , guest : 4000 , host : 4000
143
172
config . vm . network :forwarded_port , guest : 8080 , host : 8080
173
+ config . vm . network :forwarded_port , guest : 9200 , host : 9200
174
+ config . vm . network :forwarded_port , guest : 9300 , host : 9300
175
+ config . vm . network :forwarded_port , guest : 9243 , host : 9243
176
+ config . vm . network :forwarded_port , guest : 5601 , host : 5601
144
177
145
178
# Full provisioning script, only runs on first 'vagrant up' or with 'vagrant provision'
146
179
config . vm . provision :shell , inline : $provisionA, privileged : false , reset : true
180
+ # Run with elevated privileges for Elasticsearch installation
181
+ config . vm . provision :shell , inline : $provisionElasticsearch, privileged : true
147
182
config . vm . provision :shell , inline : $provisionB, privileged : false
148
183
149
184
config . vm . post_up_message = <<MESSAGE
0 commit comments