63 lines
1.8 KiB
Bash
63 lines
1.8 KiB
Bash
#!/usr/bin/env bash
|
|
|
|
if [ -f ~/.homestead-features/wsl_user_name ]; then
|
|
WSL_USER_NAME="$(cat ~/.homestead-features/wsl_user_name)"
|
|
WSL_USER_GROUP="$(cat ~/.homestead-features/wsl_user_group)"
|
|
else
|
|
WSL_USER_NAME=vagrant
|
|
WSL_USER_GROUP=vagrant
|
|
fi
|
|
|
|
export DEBIAN_FRONTEND=noninteractive
|
|
|
|
if [ -f /home/$WSL_USER_NAME/.homestead-features/elasticsearch ]
|
|
then
|
|
echo "Elasticsearch already installed."
|
|
exit 0
|
|
fi
|
|
|
|
touch /home/$WSL_USER_NAME/.homestead-features/elasticsearch
|
|
chown -Rf $WSL_USER_NAME:$WSL_USER_GROUP /home/$WSL_USER_NAME/.homestead-features
|
|
|
|
# Determine version from config
|
|
|
|
set -- "$1"
|
|
IFS=".";
|
|
|
|
if [ -z "${version}" ]; then
|
|
installVersion="" # by not specifying we'll install latest
|
|
majorVersion="7" # default to version 7
|
|
else
|
|
installVersion="=$version"
|
|
majorVersion="$(echo $version | head -c 1)"
|
|
fi
|
|
|
|
|
|
echo "Elasticsearch installVersion: $installVersion"
|
|
echo "Elasticsearch majorVersion: $majorVersion"
|
|
|
|
|
|
# Install Java & Elasticsearch
|
|
curl -fsSL https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo gpg --dearmor -o /etc/apt/keyrings/elasticsearch.gpg
|
|
|
|
if [ ! -f /etc/apt/sources.list.d/elastic-$majorVersion.x.list ]; then
|
|
echo "deb [signed-by=/etc/apt/keyrings/elasticsearch.gpg] https://artifacts.elastic.co/packages/$majorVersion.x/apt stable main" | sudo tee /etc/apt/sources.list.d/elastic-$majorVersion.x.list
|
|
fi
|
|
|
|
sudo apt-get update
|
|
sudo apt-get -y install openjdk-11-jre
|
|
sudo apt-get -y install elasticsearch"$installVersion"
|
|
|
|
# Start Elasticsearch on boot
|
|
|
|
sudo update-rc.d elasticsearch defaults 95 10
|
|
|
|
# Update configuration to use 'homestead' as the cluster
|
|
|
|
sudo sed -i "s/#cluster.name: my-application/cluster.name: homestead/" /etc/elasticsearch/elasticsearch.yml
|
|
|
|
# Enable Start Elasticsearch
|
|
|
|
sudo systemctl enable elasticsearch.service
|
|
sudo service elasticsearch start
|