From d39a961a296f9c18241e48935f01e883c6549908 Mon Sep 17 00:00:00 2001 From: "Xinwei Xiong(cubxxw)" <3293172751nss@gmail.com> Date: Sun, 10 Dec 2023 18:59:26 +0800 Subject: [PATCH] fix: fix docker compose scripts Signed-off-by: Xinwei Xiong(cubxxw) <3293172751nss@gmail.com> --- .../{env_template.yaml => env-template.yaml} | 0 docs/contrib/bash-log.md | 2 +- install_guide.sh | 176 ------------------ scripts/init-config.sh | 2 +- scripts/install/openim-api.sh | 2 +- scripts/install/openim-rpc.sh | 2 +- scripts/lib/logging.sh | 2 +- 7 files changed, 5 insertions(+), 181 deletions(-) rename deployments/templates/{env_template.yaml => env-template.yaml} (100%) delete mode 100755 install_guide.sh diff --git a/deployments/templates/env_template.yaml b/deployments/templates/env-template.yaml similarity index 100% rename from deployments/templates/env_template.yaml rename to deployments/templates/env-template.yaml diff --git a/docs/contrib/bash-log.md b/docs/contrib/bash-log.md index 86acb1d33..7725d5589 100644 --- a/docs/contrib/bash-log.md +++ b/docs/contrib/bash-log.md @@ -11,7 +11,7 @@ OpenIM, an intricate project, requires a robust logging mechanism to diagnose is 1. **Initialization**: The system begins by determining the verbosity level through the `OPENIM_VERBOSE` variable. If it's not set, a default value of 5 is assigned. This verbosity level dictates the depth of the log details. 2. **Log File Setup**: Logs are stored in the directory specified by `OPENIM_OUTPUT`. If this variable isn't explicitly set, it defaults to the `_output` directory relative to the script location. Each log file is named based on the date to facilitate easy identification. 3. **Logging Function**: The `echo_log()` function plays a pivotal role by writing messages to both the console (stdout) and the log file. -4. **Logging to a file**: The `echo_log()` function writes to the log file by appending the message to the file. It also adds a timestamp to the message. path: `_output/logs/*`, Enable logging by default. Set to false to disable. If you wish to turn off output to log files set `ENABLE_LOGGING=flase`. +4. **Logging to a file**: The `echo_log()` function writes to the log file by appending the message to the file. It also adds a timestamp to the message. path: `_output/logs/*`, Enable logging by default. Set to false to disable. If you wish to turn off output to log files set `export ENABLE_LOGGING=flase`. ### Key Functions & Their Usages diff --git a/install_guide.sh b/install_guide.sh deleted file mode 100755 index c4323d6a8..000000000 --- a/install_guide.sh +++ /dev/null @@ -1,176 +0,0 @@ -#!/usr/bin/env bash - -echo "Welcome to the Open-IM-Server installation scripts." -echo "Please select an deploy option:" -echo "1. docker-compose install" -echo "2. exit" - -clear_openimlog() { - rm -rf ./logs/* -} - -is_path() { - if [ -e "$1" ]; then - return 1 - else - return 0 - fi -} - -is_empty() { - if [ -z "$1" ]; then - return 1 - else - return 0 - fi -} - -is_directory_exists() { - if [ -d "$1" ]; then - return 1 - else - return 0 - fi -} - -edit_config() { - echo "Is edit config.yaml?" - echo "1. vi edit config" - echo "2. do not edit config" - read choice - case $choice in - 1) - vi config/config.yaml - ;; - 2) - echo "do not edit config" - ;; - esac -} - -edit_enterprise_config() { - echo "Is edit enterprise config.yaml?" - echo "1. vi edit enterprise config" - echo "2. do not edit enterprise config" - read choice - case $choice in - 1) - vi ./.docker-compose_cfg/config.yaml - ;; - 2) - echo "Do not edit enterprise config" - ;; - esac -} - -install_docker_compose() { - echo "Please input the installation path, default is $(pwd)/Open-IM-Server, press enter to use default" - read install_path - is_empty $install_path - if [ $? -eq 1 ]; then - install_path="." - fi - echo "Installing Open-IM-Server to ${install_path}/Open-IM-Server..." - is_path $install_path - mkdir -p $install_path - cd $install_path - is_directory_exists "${install_path}/Open-IM-Server" - if [ $? -eq 1 ]; then - echo "WARNING: Directory $install_path/Open-IM-Server exist, please ensure your path" - echo "1. delete the directory and install" - echo "2. exit" - read choice - case $choice in - 1) - rm -rf "${install_path}/Open-IM-Server" - ;; - 2) - exit 1 - ;; - esac - fi - rm -rf ./Open-IM-Server - set -e - git clone https://github.com/openimsdk/open-im-server.git --recursive; - set +e - cd ./Open-IM-Server - git checkout errcode - echo "======== git clone success ========" - source .env - if [ $DATA_DIR = "./" ]; then - DATA_DIR=$(pwd)/components - fi - echo "Please input the components data directory, deault is ${DATA_DIR}, press enter to use default" - read NEW_DATA_DIR - is_empty $NEW_DATA_DIR - if [ $? -eq 0 ]; then - DATA_DIR=$NEW_DATA_DIR - fi - echo "Please input the user, deault is root, press enter to use default" - read NEW_USER - is_empty $NEW_USER - if [ $? -eq 0 ]; then - OPENIM_USER=$NEW_USER - fi - - echo "Please input the password, default is openIM123, press enter to use default" - read NEW_PASSWORD - is_empty $NEW_PASSWORD - if [ $? -eq 0 ]; then - PASSWORD=$NEW_PASSWORD - fi - - echo "Please input the minio_endpoint, default will detect auto, press enter to use default" - read NEW_MINIO_ENDPOINT - is_empty $NEW_MINIO_ENDPOINT - if [ $? -eq 1 ]; then - internet_ip=`curl ifconfig.me -s` - MINIO_ENDPOINT="http://${internet_ip}:10005" - else - MINIO_ENDPOINT=$NEW_MINIO_ENDPOINT - fi - set -e - export MINIO_ENDPOINT - export OPENIM_USER - export PASSWORD - export DATA_DIR - - cat < .env -OPENIM_USER=${OPENIM_USER} -PASSWORD=${PASSWORD} -MINIO_ENDPOINT=${MINIO_ENDPOINT} -DATA_DIR=${DATA_DIR} -EOF - - edit_config - edit_enterprise_config - - cd scripts; - chmod +x *.sh; - ./init-pwd.sh; - ./env_check.sh; - cd ..; - docker-compose up -d; - cd scripts; - ./docker-check-service.sh; -} - -read choice - -case $choice in - 1) - install_docker_compose - ;; - 2) - - ;; - 3) - ;; - 4) - echo "Exiting installation scripts..." - exit 0 - ;; - *) - echo "Invalid option, please try again." - ;; -esac diff --git a/scripts/init-config.sh b/scripts/init-config.sh index f20fc7e73..2e49a4cf3 100755 --- a/scripts/init-config.sh +++ b/scripts/init-config.sh @@ -29,7 +29,7 @@ readonly ENV_FILE=${ENV_FILE:-"${OPENIM_ROOT}/scripts/install/environment.sh"} # (en: Defines an associative array where the keys are the template files and the values are the corresponding output files.) declare -A TEMPLATES=( - ["${OPENIM_ROOT}/deployments/templates/env_template.yaml"]="${OPENIM_ROOT}/.env" + ["${OPENIM_ROOT}/deployments/templates/env-template.yaml"]="${OPENIM_ROOT}/.env" ["${OPENIM_ROOT}/deployments/templates/openim.yaml"]="${OPENIM_ROOT}/config/config.yaml" ["${OPENIM_ROOT}/deployments/templates/prometheus.yml"]="${OPENIM_ROOT}/config/prometheus.yml" ["${OPENIM_ROOT}/deployments/templates/alertmanager.yml"]="${OPENIM_ROOT}/config/alertmanager.yml" diff --git a/scripts/install/openim-api.sh b/scripts/install/openim-api.sh index a40e23611..9f66d0ba0 100755 --- a/scripts/install/openim-api.sh +++ b/scripts/install/openim-api.sh @@ -66,7 +66,7 @@ function openim::api::start() { for ((j = 0; j < ${#OPENIM_API_SERVICE_PORTS[@]}; j++)); do openim::log::info "Starting ${OPENIM_API_SERVICE_LISTARIES[$i]} service, port: ${OPENIM_API_SERVICE_PORTS[j]}, binary root: ${OPENIM_OUTPUT_HOSTBIN}/${OPENIM_API_SERVICE_LISTARIES[$i]}" openim::api::start_service "${OPENIM_API_SERVICE_LISTARIES[$i]}" "${OPENIM_API_PORT_LISTARIES[j]}" - sleep 1 + sleep 2 done done diff --git a/scripts/install/openim-rpc.sh b/scripts/install/openim-rpc.sh index bd00ff9f2..b66004191 100755 --- a/scripts/install/openim-rpc.sh +++ b/scripts/install/openim-rpc.sh @@ -138,7 +138,7 @@ function openim::rpc::start() { done done - sleep 0.5 + sleep 1 openim::util::check_ports ${OPENIM_RPC_PORT_TARGETS[@]} # openim::util::check_ports ${OPENIM_RPC_PROM_PORT_TARGETS[@]} diff --git a/scripts/lib/logging.sh b/scripts/lib/logging.sh index 90f9d0c7f..9d28aa284 100755 --- a/scripts/lib/logging.sh +++ b/scripts/lib/logging.sh @@ -17,7 +17,7 @@ OPENIM_VERBOSE="${OPENIM_VERBOSE:-5}" # Enable logging by default. Set to false to disable. -ENABLE_LOGGING=true +ENABLE_LOGGING="${ENABLE_LOGGING:-true}" # If OPENIM_OUTPUT is not set, set it to the default value if [[ ! -v OPENIM_OUTPUT ]]; then