mirror of
https://github.com/openimsdk/open-im-server.git
synced 2026-05-02 08:05:58 +08:00
feat(main): 🚀 Database Name Correction and S3 Module Int32 Overflow Fix with Go Routine Integration for Automated Checks and Script Optimization (#1799)
* feat: replace mongo database openIM_v3 to openim_v3 * openim-building-an-efficient-version-control-and-testing-workflow * feat: complete openim source deployment rpc start timeout * feat: optimize config Signed-off-by: Xinwei Xiong (cubxxw) <3293172751nss@gmail.com> * feat: add scripts format * feat: use scripts format code * fix cos and minio etc to typecheck * feat: scripts make verify check ci * fix: make file verify spelling * fix: make file verify spelling * Concurrent Type Checking and Cross-Platform Development in Go * feat: add copyright make lint and format * feat: add config examples file Signed-off-by: Xinwei Xiong <3293172751@qq.com> * feat: add config examples file Signed-off-by: Xinwei Xiong <3293172751@qq.com> --------- Signed-off-by: Xinwei Xiong (cubxxw) <3293172751nss@gmail.com> Signed-off-by: Xinwei Xiong <3293172751@qq.com>
This commit is contained in:
+93
-93
@@ -14,38 +14,38 @@
|
||||
# limitations under the License.
|
||||
#
|
||||
# OpenIM Server Installation Script
|
||||
#
|
||||
#
|
||||
# Description:
|
||||
# This script is designed to handle the installation, Is a deployment solution
|
||||
# This script is designed to handle the installation, Is a deployment solution
|
||||
# that uses the Linux systen extension. uninstallation, and
|
||||
# status checking of OpenIM components on the server. OpenIM is a presumed
|
||||
# communication or messaging platform based on the context.
|
||||
#
|
||||
#
|
||||
# Usage:
|
||||
# To utilize this script, you need to invoke it with specific commands
|
||||
# To utilize this script, you need to invoke it with specific commands
|
||||
# and options as detailed below.
|
||||
#
|
||||
#
|
||||
# Commands:
|
||||
# -i, --install : Use this command to initiate the installation of all
|
||||
# -i, --install : Use this command to initiate the installation of all
|
||||
# OpenIM components.
|
||||
# -u, --uninstall : Use this command to uninstall or remove all
|
||||
# -u, --uninstall : Use this command to uninstall or remove all
|
||||
# OpenIM components from the server.
|
||||
# -s, --status : This command can be used to check and report the
|
||||
# -s, --status : This command can be used to check and report the
|
||||
# current operational status of the installed OpenIM components.
|
||||
# -h, --help : For any assistance or to view the available commands,
|
||||
# use this command to display the help menu.
|
||||
#
|
||||
#
|
||||
# Example Usage:
|
||||
# To install all OpenIM components:
|
||||
# ./scripts/install/install.sh -i
|
||||
# or
|
||||
# ./scripts/install/install.sh --install
|
||||
#
|
||||
# ./scripts/install/install.sh -i
|
||||
# or
|
||||
# ./scripts/install/install.sh --install
|
||||
#
|
||||
# Note:
|
||||
# Ensure you have the necessary privileges to execute installation or
|
||||
# uninstallation operations. It's generally recommended to take a backup
|
||||
# uninstallation operations. It's generally recommended to take a backup
|
||||
# before making major changes.
|
||||
#
|
||||
#
|
||||
###############################################################################
|
||||
|
||||
OPENIM_ROOT=$(cd "$(dirname "${BASH_SOURCE[0]}")"/../.. && pwd -P)
|
||||
@@ -57,99 +57,99 @@ ${OPENIM_ROOT}/scripts/install/test.sh
|
||||
|
||||
# Detailed help function
|
||||
function openim::install::show_help() {
|
||||
echo "OpenIM Installer"
|
||||
echo "Usage: $0 <command> [options]"
|
||||
echo ""
|
||||
echo "Commands:"
|
||||
echo " -i, --install Install all OpenIM components."
|
||||
echo " -u, --uninstall Remove all OpenIM components."
|
||||
echo " -s, --status Check the current status of OpenIM components."
|
||||
echo " -h, --help Show this help menu."
|
||||
echo ""
|
||||
echo "Example: "
|
||||
echo " $0 -i Will install all OpenIM components."
|
||||
echo " $0 --install Same as above."
|
||||
echo "OpenIM Installer"
|
||||
echo "Usage: $0 <command> [options]"
|
||||
echo ""
|
||||
echo "Commands:"
|
||||
echo " -i, --install Install all OpenIM components."
|
||||
echo " -u, --uninstall Remove all OpenIM components."
|
||||
echo " -s, --status Check the current status of OpenIM components."
|
||||
echo " -h, --help Show this help menu."
|
||||
echo ""
|
||||
echo "Example: "
|
||||
echo " $0 -i Will install all OpenIM components."
|
||||
echo " $0 --install Same as above."
|
||||
}
|
||||
|
||||
function openim::install::install_openim() {
|
||||
openim::common::sudo "mkdir -p ${OPENIM_DATA_DIR} ${OPENIM_INSTALL_DIR} ${OPENIM_CONFIG_DIR} ${OPENIM_LOG_DIR}"
|
||||
openim::log::info "check openim dependency"
|
||||
openim::common::sudo "cp -r ${OPENIM_ROOT}/config/* ${OPENIM_CONFIG_DIR}/"
|
||||
|
||||
${OPENIM_ROOT}/scripts/genconfig.sh ${ENV_FILE} ${OPENIM_ROOT}/deployments/templates/openim.yaml > ${OPENIM_CONFIG_DIR}/config.yaml
|
||||
${OPENIM_ROOT}/scripts/genconfig.sh ${ENV_FILE} ${OPENIM_ROOT}/deployments/templates/prometheus.yml > ${OPENIM_CONFIG_DIR}/prometheus.yml
|
||||
|
||||
openim::util::check_ports ${OPENIM_DEPENDENCY_PORT_LISTARIES[@]}
|
||||
|
||||
${OPENIM_ROOT}/scripts/install/openim-msggateway.sh openim::msggateway::install || return 1
|
||||
${OPENIM_ROOT}/scripts/install/openim-msgtransfer.sh openim::msgtransfer::install || return 1
|
||||
${OPENIM_ROOT}/scripts/install/openim-push.sh openim::push::install || return 1
|
||||
${OPENIM_ROOT}/scripts/install/openim-crontask.sh openim::crontask::install || return 1
|
||||
${OPENIM_ROOT}/scripts/install/openim-rpc.sh openim::rpc::install || return 1
|
||||
${OPENIM_ROOT}/scripts/install/openim-api.sh openim::api::install || return 1
|
||||
|
||||
openim::common::sudo "cp -r ${OPENIM_ROOT}/deployments/templates/openim.target /etc/systemd/system/openim.target"
|
||||
openim::common::sudo "systemctl daemon-reload"
|
||||
openim::common::sudo "systemctl restart openim.target"
|
||||
openim::common::sudo "systemctl enable openim.target"
|
||||
openim::log::success "openim install success"
|
||||
openim::common::sudo "mkdir -p ${OPENIM_DATA_DIR} ${OPENIM_INSTALL_DIR} ${OPENIM_CONFIG_DIR} ${OPENIM_LOG_DIR}"
|
||||
openim::log::info "check openim dependency"
|
||||
openim::common::sudo "cp -r ${OPENIM_ROOT}/config/* ${OPENIM_CONFIG_DIR}/"
|
||||
|
||||
${OPENIM_ROOT}/scripts/genconfig.sh ${ENV_FILE} ${OPENIM_ROOT}/deployments/templates/config.yaml > ${OPENIM_CONFIG_DIR}/config.yaml
|
||||
${OPENIM_ROOT}/scripts/genconfig.sh ${ENV_FILE} ${OPENIM_ROOT}/deployments/templates/prometheus.yml > ${OPENIM_CONFIG_DIR}/prometheus.yml
|
||||
|
||||
openim::util::check_ports ${OPENIM_DEPENDENCY_PORT_LISTARIES[@]}
|
||||
|
||||
${OPENIM_ROOT}/scripts/install/openim-msggateway.sh openim::msggateway::install || return 1
|
||||
${OPENIM_ROOT}/scripts/install/openim-msgtransfer.sh openim::msgtransfer::install || return 1
|
||||
${OPENIM_ROOT}/scripts/install/openim-push.sh openim::push::install || return 1
|
||||
${OPENIM_ROOT}/scripts/install/openim-crontask.sh openim::crontask::install || return 1
|
||||
${OPENIM_ROOT}/scripts/install/openim-rpc.sh openim::rpc::install || return 1
|
||||
${OPENIM_ROOT}/scripts/install/openim-api.sh openim::api::install || return 1
|
||||
|
||||
openim::common::sudo "cp -r ${OPENIM_ROOT}/deployments/templates/openim.target /etc/systemd/system/openim.target"
|
||||
openim::common::sudo "systemctl daemon-reload"
|
||||
openim::common::sudo "systemctl restart openim.target"
|
||||
openim::common::sudo "systemctl enable openim.target"
|
||||
openim::log::success "openim install success"
|
||||
}
|
||||
|
||||
function openim::uninstall::uninstall_openim() {
|
||||
openim::log::info "uninstall openim"
|
||||
|
||||
${OPENIM_ROOT}/scripts/install/openim-msggateway.sh openim::msggateway::uninstall || return 1
|
||||
${OPENIM_ROOT}/scripts/install/openim-msgtransfer.sh openim::msgtransfer::uninstall || return 1
|
||||
${OPENIM_ROOT}/scripts/install/openim-push.sh openim::push::uninstall || return 1
|
||||
${OPENIM_ROOT}/scripts/install/openim-crontask.sh openim::crontask::uninstall || return 1
|
||||
${OPENIM_ROOT}/scripts/install/openim-rpc.sh openim::rpc::uninstall || return 1
|
||||
${OPENIM_ROOT}/scripts/install/openim-api.sh openim::api::uninstall || return 1
|
||||
|
||||
set +o errexit
|
||||
openim::common::sudo "systemctl stop openim.target"
|
||||
openim::common::sudo "systemctl disable openim.target"
|
||||
openim::common::sudo "rm -f /etc/systemd/system/openim.target"
|
||||
set -o errexit
|
||||
openim::log::success "openim uninstall success"
|
||||
openim::log::info "uninstall openim"
|
||||
|
||||
${OPENIM_ROOT}/scripts/install/openim-msggateway.sh openim::msggateway::uninstall || return 1
|
||||
${OPENIM_ROOT}/scripts/install/openim-msgtransfer.sh openim::msgtransfer::uninstall || return 1
|
||||
${OPENIM_ROOT}/scripts/install/openim-push.sh openim::push::uninstall || return 1
|
||||
${OPENIM_ROOT}/scripts/install/openim-crontask.sh openim::crontask::uninstall || return 1
|
||||
${OPENIM_ROOT}/scripts/install/openim-rpc.sh openim::rpc::uninstall || return 1
|
||||
${OPENIM_ROOT}/scripts/install/openim-api.sh openim::api::uninstall || return 1
|
||||
|
||||
set +o errexit
|
||||
openim::common::sudo "systemctl stop openim.target"
|
||||
openim::common::sudo "systemctl disable openim.target"
|
||||
openim::common::sudo "rm -f /etc/systemd/system/openim.target"
|
||||
set -o errexit
|
||||
openim::log::success "openim uninstall success"
|
||||
}
|
||||
|
||||
function openim::install::status() {
|
||||
openim::log::info "check openim status"
|
||||
|
||||
${OPENIM_ROOT}/scripts/install/openim-msggateway.sh openim::msggateway::status || return 1
|
||||
${OPENIM_ROOT}/scripts/install/openim-msgtransfer.sh openim::msgtransfer::status || return 1
|
||||
${OPENIM_ROOT}/scripts/install/openim-push.sh openim::push::status || return 1
|
||||
${OPENIM_ROOT}/scripts/install/openim-crontask.sh openim::crontask::status || return 1
|
||||
${OPENIM_ROOT}/scripts/install/openim-rpc.sh openim::rpc::status || return 1
|
||||
${OPENIM_ROOT}/scripts/install/openim-api.sh openim::api::status || return 1
|
||||
|
||||
openim::log::success "openim status success"
|
||||
openim::log::info "check openim status"
|
||||
|
||||
${OPENIM_ROOT}/scripts/install/openim-msggateway.sh openim::msggateway::status || return 1
|
||||
${OPENIM_ROOT}/scripts/install/openim-msgtransfer.sh openim::msgtransfer::status || return 1
|
||||
${OPENIM_ROOT}/scripts/install/openim-push.sh openim::push::status || return 1
|
||||
${OPENIM_ROOT}/scripts/install/openim-crontask.sh openim::crontask::status || return 1
|
||||
${OPENIM_ROOT}/scripts/install/openim-rpc.sh openim::rpc::status || return 1
|
||||
${OPENIM_ROOT}/scripts/install/openim-api.sh openim::api::status || return 1
|
||||
|
||||
openim::log::success "openim status success"
|
||||
}
|
||||
|
||||
# If no arguments are provided, show help
|
||||
if [[ $# -eq 0 ]]; then
|
||||
openim::install::show_help
|
||||
exit 0
|
||||
openim::install::show_help
|
||||
exit 0
|
||||
fi
|
||||
|
||||
# Argument parsing to call functions based on user input
|
||||
while (( "$#" )); do
|
||||
case "$1" in
|
||||
-i|--install)
|
||||
openim::install::install_openim
|
||||
shift
|
||||
;;
|
||||
-u|--uninstall)
|
||||
openim::uninstall::uninstall_openim
|
||||
shift
|
||||
;;
|
||||
-s|--status)
|
||||
openim::install::status
|
||||
shift
|
||||
;;
|
||||
-h|--help|*)
|
||||
openim::install::show_help
|
||||
exit 0
|
||||
;;
|
||||
esac
|
||||
case "$1" in
|
||||
-i|--install)
|
||||
openim::install::install_openim
|
||||
shift
|
||||
;;
|
||||
-u|--uninstall)
|
||||
openim::uninstall::uninstall_openim
|
||||
shift
|
||||
;;
|
||||
-s|--status)
|
||||
openim::install::status
|
||||
shift
|
||||
;;
|
||||
-h|--help|*)
|
||||
openim::install::show_help
|
||||
exit 0
|
||||
;;
|
||||
esac
|
||||
done
|
||||
Reference in New Issue
Block a user