Signed-off-by: Xinwei Xiong(cubxxw-openim) <3293172751nss@gmail.com>pull/561/head
parent
230c4ee967
commit
70c0417b77
@ -1,5 +1,5 @@
|
||||
USER=root
|
||||
PASSWORD=openIM123
|
||||
MINIO_ENDPOINT=http://127.0.0.1:10005
|
||||
API_URL=http://127.0.0.1:10002/object/
|
||||
MINIO_ENDPOINT=http://116.30.3.80:10005
|
||||
API_URL=http://116.30.3.80:10002/object/
|
||||
DATA_DIR=./
|
||||
|
@ -1,21 +0,0 @@
|
||||
#!/usr/bin/env bash
|
||||
internet_ip=`curl ifconfig.me -s`
|
||||
echo $internet_ip
|
||||
|
||||
source .env
|
||||
echo $MINIO_ENDPOINT
|
||||
if [ $MINIO_ENDPOINT == "http://127.0.0.1:10005" ]; then
|
||||
sed -i "s/127.0.0.1/${internet_ip}/" .env
|
||||
|
||||
fi
|
||||
|
||||
cd scripts ;
|
||||
chmod +x *.sh ;
|
||||
./init_pwd.sh
|
||||
./env_check.sh;
|
||||
cd .. ;
|
||||
docker-compose -f im-compose.yaml up -d
|
||||
docker ps
|
||||
|
||||
|
||||
|
@ -1,43 +0,0 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
# Get the public internet IP address
|
||||
internet_ip=$(curl ifconfig.me -s)
|
||||
echo $internet_ip
|
||||
|
||||
# Load environment variables from .env file
|
||||
source .env
|
||||
echo $MINIO_ENDPOINT
|
||||
|
||||
# Replace local IP address with the public IP address in .env file
|
||||
if [ $API_URL == "http://127.0.0.1:10002/object/" ]; then
|
||||
sed -i "s/127.0.0.1/${internet_ip}/" .env
|
||||
fi
|
||||
|
||||
if [ $MINIO_ENDPOINT == "http://127.0.0.1:10005" ]; then
|
||||
sed -i "s/127.0.0.1/${internet_ip}/" .env
|
||||
fi
|
||||
|
||||
# Change directory to scripts folder
|
||||
cd scripts
|
||||
chmod +x *.sh
|
||||
|
||||
# Execute necessary scripts
|
||||
./init_pwd.sh
|
||||
./env_check.sh
|
||||
|
||||
# Go back to the previous directory
|
||||
cd ..
|
||||
|
||||
# Check if docker-compose command is available
|
||||
if command -v docker-compose &> /dev/null
|
||||
then
|
||||
docker-compose up -d
|
||||
else
|
||||
docker compose up -d
|
||||
fi
|
||||
|
||||
# Change directory to scripts folder again
|
||||
cd scripts
|
||||
|
||||
# Check docker services
|
||||
./docker_check_service.sh
|
@ -1,33 +1,92 @@
|
||||
#!/usr/bin/env bash
|
||||
# Copyright © 2023 OpenIM. All rights reserved.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
echo "docker-compose ps..........................."
|
||||
cd ..
|
||||
|
||||
if command -v docker-compose &> /dev/null
|
||||
then
|
||||
# Include shell font styles and some basic information
|
||||
SCRIPTS_ROOT=$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)
|
||||
OPENIM_ROOT=$(dirname "${BASH_SOURCE[0]}")/..
|
||||
|
||||
source "$SCRIPTS_ROOT/style_info.sh"
|
||||
|
||||
echo -e "${GREEN_PREFIX}=========> Check docker-compose status ${COLOR_SUFFIX} \n"
|
||||
|
||||
trap 'onCtrlC' INT
|
||||
|
||||
function onCtrlC() {
|
||||
kill -9 "${do_sth_pid}" "${progress_pid}" "${countdown_pid}"
|
||||
echo
|
||||
echo 'Ctrl+C is captured'
|
||||
exit 1
|
||||
}
|
||||
|
||||
cd "$OPENIM_ROOT"
|
||||
|
||||
if command -v docker-compose &> /dev/null; then
|
||||
docker-compose ps
|
||||
else
|
||||
docker compose ps
|
||||
fi
|
||||
|
||||
progress() {
|
||||
local _main_pid="$1"
|
||||
local _length=20
|
||||
local _ratio=1
|
||||
local _colors=("31" "32" "33" "34" "35" "36" "37")
|
||||
local _wave=("▁" "▂" "▃" "▄" "▅" "▆" "▇" "█" "▇" "▆" "▅" "▄" "▃" "▂")
|
||||
|
||||
while pgrep -P "$_main_pid" &> /dev/null; do
|
||||
local _mark='>'
|
||||
local _progress_bar=
|
||||
for ((i = 1; i <= _length; i++)); do
|
||||
if ((i > _ratio)); then
|
||||
_mark='-'
|
||||
fi
|
||||
_progress_bar="${_progress_bar}${_mark}"
|
||||
done
|
||||
|
||||
local _color_idx=$((_ratio % ${#_colors[@]}))
|
||||
local _color_prefix="\033[${_colors[_color_idx]}m"
|
||||
local _reset_suffix="\033[0m"
|
||||
|
||||
local _wave_idx=$((_ratio % ${#_wave[@]}))
|
||||
local _wave_progress=${_wave[_wave_idx]}
|
||||
|
||||
printf "Progress: ${_color_prefix}${_progress_bar}${_reset_suffix} ${_wave_progress} Countdown: %2ds \r" "$_countdown"
|
||||
((_ratio++))
|
||||
((_ratio > _length)) && _ratio=1
|
||||
sleep 0.1
|
||||
done
|
||||
}
|
||||
|
||||
countdown() {
|
||||
local _duration="$1"
|
||||
|
||||
for ((i = _duration; i >= 1; i--)); do
|
||||
printf "\rCountdown: %2ds \r" "$i"
|
||||
sleep 1
|
||||
done
|
||||
printf "\rCountdown: %2ds \r" "$_duration"
|
||||
}
|
||||
|
||||
do_sth() {
|
||||
echo "++++++++++++++++++++++++"
|
||||
progress $$ &
|
||||
local _progress_pid=$!
|
||||
local _countdown=30
|
||||
|
||||
countdown "$_countdown" &
|
||||
local _countdown_pid=$!
|
||||
|
||||
sleep 30
|
||||
|
||||
kill "$_progress_pid" "$_countdown_pid"
|
||||
|
||||
"${SCRIPTS_ROOT}/check_all.sh"
|
||||
echo -e "${PURPLE_PREFIX}=========> Check docker-compose status ${COLOR_SUFFIX} \n"
|
||||
}
|
||||
|
||||
cd scripts
|
||||
echo "check OpenIM................................"
|
||||
do_sth &
|
||||
do_sth_pid=$(jobs -p | tail -1)
|
||||
|
||||
sleep 30
|
||||
./check_all.sh
|
||||
progress "${do_sth_pid}" &
|
||||
progress_pid=$(jobs -p | tail -1)
|
||||
|
||||
wait "${do_sth_pid}"
|
||||
printf "Progress: done \n"
|
||||
|
@ -0,0 +1,108 @@
|
||||
|
||||
#Include shell font styles and some basic information
|
||||
SCRIPTS_ROOT=$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)
|
||||
OPENIM_ROOT=$(dirname "${BASH_SOURCE[0]}")/..
|
||||
|
||||
# docker-compose.yaml file name
|
||||
docker_compose_file_name="docker-compose.yaml"
|
||||
|
||||
trap 'onCtrlC' INT
|
||||
function onCtrlC () {
|
||||
#Capture CTRL+C, terminate the background process of the program when the script is terminated in the form of ctrl+c
|
||||
kill -9 ${do_sth_pid} ${progress_pid}
|
||||
echo
|
||||
echo 'Ctrl+C is captured'
|
||||
exit 1
|
||||
}
|
||||
|
||||
do_sth() {
|
||||
#Main program to run
|
||||
echo "++++++++++++++++++++++++"
|
||||
sleep 5
|
||||
echo "++++++++++++++++++++++++"
|
||||
|
||||
sleep 10
|
||||
}
|
||||
|
||||
#Import environment variables
|
||||
source .env
|
||||
|
||||
#Get the public IP address of the local machine
|
||||
internet_ip=$(curl ifconfig.me -s)
|
||||
echo -e "\033[1;34mCurrent public IP address: ${internet_ip}\033[0m\n"
|
||||
|
||||
#If MINIO_ENDPOINT is "http://127.0.0.1:10005", replace it with the current public IP address
|
||||
if [[ $MINIO_ENDPOINT == "http://127.0.0.1:10005" ]]; then
|
||||
sed -i "s/127.0.0.1/${internet_ip}/" .env
|
||||
fi
|
||||
|
||||
do_progress_bar() {
|
||||
local duration=${1}
|
||||
local max_progress=20
|
||||
local current_progress=0
|
||||
|
||||
while true; do
|
||||
((current_progress++))
|
||||
if [[ $current_progress -gt $max_progress ]]; then
|
||||
break
|
||||
fi
|
||||
sleep "$duration"
|
||||
echo "=====> Progress: [${current_progress}/${max_progress}]"
|
||||
done
|
||||
}
|
||||
|
||||
#Start Docker containers
|
||||
start_docker_containers() {
|
||||
if command -v docker-compose >/dev/null 2>&1; then
|
||||
echo -e "\033[1;34mFound docker-compose command, starting docker containers...\033[0m\n"
|
||||
docker-compose -f ${OPENIM_ROOT}/${docker_compose_file_name} up -d
|
||||
else
|
||||
if command -v docker >/dev/null 2>&1; then
|
||||
echo -e "\033[1;34mFound docker command, starting docker containers...\033[0m\n"
|
||||
docker compose -f ${OPENIM_ROOT}/${docker_compose_file_name} up -d
|
||||
else
|
||||
echo -e "\033[1;31mFailed to find docker-compose or docker command, please make sure they are installed and configured correctly.\033[0m"
|
||||
return 1
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
#Execute scripts
|
||||
setup_script() {
|
||||
chmod +x ${SCRIPTS_ROOT}/*.sh
|
||||
echo -e "\033[1;34m============>Executing init_pwd.sh script...\033[0m\n"
|
||||
${SCRIPTS_ROOT}/init_pwd.sh
|
||||
echo -e "\033[1;34m============>Executing env_check.sh script...\033[0m\n"
|
||||
${SCRIPTS_ROOT}/env_check.sh
|
||||
}
|
||||
|
||||
setup_script &
|
||||
|
||||
#Start Docker containers (timeout 10 seconds)
|
||||
start_docker_containers
|
||||
|
||||
docker_pid=$!
|
||||
timeout 10s tail --pid=${docker_pid} -f /dev/null
|
||||
docker_exit_code=$?
|
||||
|
||||
if [ $docker_exit_code -eq 0 ]; then
|
||||
echo -e "\033[1;32m============>Docker containers started successfully!\033[0m\n"
|
||||
else
|
||||
echo -e "\033[1;31m============>Failed to start Docker containers, please check the environment configuration and dependencies.\033[0m\n"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo -e "\033[1;34m============>Executing docker_check_service.sh script...\033[0m\n"
|
||||
|
||||
#View running Docker containers
|
||||
echo -e "\033[1;34m============>Viewing running Docker containers...\033[0m\n"
|
||||
echo ""
|
||||
docker ps
|
||||
|
||||
#Replace the progress bar section with the pv command
|
||||
echo -e "\033[1;34m============>Starting progress bar...\033[0m\n"
|
||||
do_progress_bar 0.5 | pv -l -s 20 > /dev/null
|
||||
echo -e "\033[1;34m============>Progress bar completed.\033[0m\n"
|
||||
|
||||
#Execute the main program
|
||||
do_sth
|
@ -0,0 +1,63 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
#Include shell font styles and some basic information
|
||||
SCRIPTS_ROOT=$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)
|
||||
OPENIM_ROOT=$(dirname "${BASH_SOURCE[0]}")/..
|
||||
|
||||
source $SCRIPTS_ROOT/style_info.sh
|
||||
|
||||
# docker-compose.yaml file name
|
||||
docker_compose_file_name="docker-compose.yaml"
|
||||
|
||||
trap 'onCtrlC' INT
|
||||
function onCtrlC () {
|
||||
#Capture CTRL+C, terminate the background process of the program when the script is terminated in the form of ctrl+c
|
||||
kill -9 ${do_sth_pid} ${progress_pid}
|
||||
echo
|
||||
echo 'Ctrl+C is captured'
|
||||
exit 1
|
||||
}
|
||||
|
||||
# Get the public internet IP address
|
||||
internet_ip=$(curl ifconfig.me -s)
|
||||
echo -e "${PURPLE_PREFIX}=========> Your public internet IP address is ${internet_ip} ${COLOR_SUFFIX} \n"
|
||||
|
||||
# Load environment variables from .env file
|
||||
source ${OPENIM_ROOT}/.env
|
||||
|
||||
echo -e "${PURPLE_PREFIX}=========> Your minio endpoint is ${MINIO_ENDPOINT} ${COLOR_SUFFIX} \n"
|
||||
|
||||
# Change directory to scripts folder
|
||||
|
||||
chmod +x ${SCRIPTS_ROOT}/*.sh
|
||||
|
||||
# Execute necessary scripts
|
||||
echo -e "${PURPLE_PREFIX}=========> init_pwd.sh ${COLOR_SUFFIX} \n"
|
||||
|
||||
${SCRIPTS_ROOT}/init_pwd.sh
|
||||
|
||||
echo -e "${PURPLE_PREFIX}=========> env_check.sh ${COLOR_SUFFIX} \n"
|
||||
|
||||
${SCRIPTS_ROOT}/env_check.sh
|
||||
|
||||
# Replace local IP address with the public IP address in .env file
|
||||
if [ $API_URL == "http://127.0.0.1:10002/object/" ]; then
|
||||
sed -i "s/127.0.0.1/${internet_ip}/" ${OPENIM_ROOT}/.env
|
||||
fi
|
||||
|
||||
if [ $MINIO_ENDPOINT == "http://127.0.0.1:10005" ]; then
|
||||
sed -i "s/127.0.0.1/${internet_ip}/" ${OPENIM_ROOT}/.env
|
||||
fi
|
||||
|
||||
# Go back to the previous directory
|
||||
cd ${OPENIM_ROOT}
|
||||
|
||||
# Check if docker-compose command is available
|
||||
if command -v docker-compose &> /dev/null
|
||||
then
|
||||
docker-compose up -d
|
||||
else
|
||||
docker compose up -d
|
||||
fi
|
||||
|
||||
${SCRIPTS_ROOT}/docker_check_service.sh
|
Loading…
Reference in new issue