mirror of
https://github.com/openimsdk/open-im-server.git
synced 2025-12-03 10:52:33 +08:00
fix: fix docker compose scripts
Signed-off-by: Xinwei Xiong(cubxxw) <3293172751nss@gmail.com>
This commit is contained in:
parent
4cd2713fd6
commit
d39a961a29
@ -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.
|
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.
|
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.
|
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
|
### Key Functions & Their Usages
|
||||||
|
|
||||||
|
|||||||
176
install_guide.sh
176
install_guide.sh
@ -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 <<EOF > .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
|
|
||||||
@ -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.)
|
# (en: Defines an associative array where the keys are the template files and the values are the corresponding output files.)
|
||||||
declare -A TEMPLATES=(
|
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/openim.yaml"]="${OPENIM_ROOT}/config/config.yaml"
|
||||||
["${OPENIM_ROOT}/deployments/templates/prometheus.yml"]="${OPENIM_ROOT}/config/prometheus.yml"
|
["${OPENIM_ROOT}/deployments/templates/prometheus.yml"]="${OPENIM_ROOT}/config/prometheus.yml"
|
||||||
["${OPENIM_ROOT}/deployments/templates/alertmanager.yml"]="${OPENIM_ROOT}/config/alertmanager.yml"
|
["${OPENIM_ROOT}/deployments/templates/alertmanager.yml"]="${OPENIM_ROOT}/config/alertmanager.yml"
|
||||||
|
|||||||
@ -66,7 +66,7 @@ function openim::api::start() {
|
|||||||
for ((j = 0; j < ${#OPENIM_API_SERVICE_PORTS[@]}; j++)); do
|
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::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]}"
|
openim::api::start_service "${OPENIM_API_SERVICE_LISTARIES[$i]}" "${OPENIM_API_PORT_LISTARIES[j]}"
|
||||||
sleep 1
|
sleep 2
|
||||||
done
|
done
|
||||||
done
|
done
|
||||||
|
|
||||||
|
|||||||
@ -138,7 +138,7 @@ function openim::rpc::start() {
|
|||||||
done
|
done
|
||||||
done
|
done
|
||||||
|
|
||||||
sleep 0.5
|
sleep 1
|
||||||
|
|
||||||
openim::util::check_ports ${OPENIM_RPC_PORT_TARGETS[@]}
|
openim::util::check_ports ${OPENIM_RPC_PORT_TARGETS[@]}
|
||||||
# openim::util::check_ports ${OPENIM_RPC_PROM_PORT_TARGETS[@]}
|
# openim::util::check_ports ${OPENIM_RPC_PROM_PORT_TARGETS[@]}
|
||||||
|
|||||||
@ -17,7 +17,7 @@
|
|||||||
OPENIM_VERBOSE="${OPENIM_VERBOSE:-5}"
|
OPENIM_VERBOSE="${OPENIM_VERBOSE:-5}"
|
||||||
|
|
||||||
# Enable logging by default. Set to false to disable.
|
# 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 OPENIM_OUTPUT is not set, set it to the default value
|
||||||
if [[ ! -v OPENIM_OUTPUT ]]; then
|
if [[ ! -v OPENIM_OUTPUT ]]; then
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user