78 lines
2.4 KiB
Bash
78 lines
2.4 KiB
Bash
#!/bin/bash
|
||
|
||
# 检查 .env 文件是否存在
|
||
if [ -f .env ]; then
|
||
# 导入 .env 文件中的变量
|
||
source .env
|
||
|
||
# 模板文件 MS_TEMPLATE_ENABLED 为 true 时 使用正确的模板文件
|
||
MS_TEMPLATE_ENABLED=$(grep -E '^MS_TEMPLATE_ENABLED=' .env | cut -d= -f2)
|
||
|
||
# 检查MS_TEMPLATE_ENABLED是否为真
|
||
if [ "$MS_TEMPLATE_ENABLED" = "true" ]; then
|
||
# 复制docker-compose-template.yml为docker-compose.yml,覆盖已存在的文件
|
||
cp -f docker-compose-template.yml docker-compose.yml
|
||
echo "docker-compose.yml updated successfully."
|
||
fi
|
||
|
||
# 替换 docker-compose.yml 中的网络变量
|
||
sed -i "s/\${DOCKER_NET}/$CLUSTER_NETWORK/" docker-compose.yml
|
||
|
||
# 创建目录
|
||
mkdir -p "$ES_ROOT_PATH"
|
||
|
||
mkdir -p "$ES_ROOT_PATH/certs"
|
||
|
||
mkdir -p "$ES_ROOT_PATH/es01/data"
|
||
mkdir -p "$ES_ROOT_PATH/es02/data"
|
||
mkdir -p "$ES_ROOT_PATH/es03/data"
|
||
|
||
mkdir -p "$ES_ROOT_PATH/es01/logs"
|
||
mkdir -p "$ES_ROOT_PATH/es02/logs"
|
||
mkdir -p "$ES_ROOT_PATH/es03/logs"
|
||
|
||
mkdir -p "$ES_ROOT_PATH/es01/config"
|
||
mkdir -p "$ES_ROOT_PATH/es02/config"
|
||
mkdir -p "$ES_ROOT_PATH/es03/config"
|
||
|
||
mkdir -p "$ES_ROOT_PATH/es01/plugins"
|
||
mkdir -p "$ES_ROOT_PATH/es02/plugins"
|
||
mkdir -p "$ES_ROOT_PATH/es03/plugins"
|
||
|
||
mkdir -p "$ES_ROOT_PATH/kibana/data"
|
||
mkdir -p "$ES_ROOT_PATH/kibana/config"
|
||
|
||
# 生成 elasticsearch.yml 文件
|
||
elasticsearch_config="cluster.name: \"$CLUSTER_NAME\"\nnetwork.host: 0.0.0.0"
|
||
echo -e "$elasticsearch_config" > elasticsearch.yml
|
||
cp elasticsearch.yml "$ES_ROOT_PATH/es01/config/elasticsearch.yml"
|
||
cp elasticsearch.yml "$ES_ROOT_PATH/es02/config/elasticsearch.yml"
|
||
cp elasticsearch.yml "$ES_ROOT_PATH/es03/config/elasticsearch.yml"
|
||
|
||
# 生成 kibana.yml 文件
|
||
kibana_config="server.host: \"0.0.0.0\"\nserver.shutdownTimeout: \"5s\"\nelasticsearch.hosts: [ \"https://es01:9200\", \"https://es02:9200\", \"https://es03:9200\" ]\nmonitoring.ui.container.elasticsearch.enabled: true"
|
||
echo -e "$kibana_config" > kibana.yml
|
||
cp kibana.yml "$ES_ROOT_PATH/kibana/config/kibana.yml"
|
||
|
||
# 清理中间文件
|
||
rm elasticsearch.yml kibana.yml
|
||
|
||
# 设置权限
|
||
chmod -R 777 "$ES_ROOT_PATH"
|
||
|
||
# 创建网络
|
||
docker network create "$CLUSTER_NETWORK"
|
||
# 检查创建是否成功
|
||
if [ $? -eq 0 ]; then
|
||
echo "Network $CLUSTER_NETWORK created successfully."
|
||
else
|
||
echo "Failed to create network $CLUSTER_NETWORK."
|
||
fi
|
||
|
||
echo "Directories and permissions set successfully."
|
||
|
||
else
|
||
echo "Error: .env file not found."
|
||
exit 1
|
||
fi
|