forked from freeleaps/freeleaps-pub
Update for echo output optimize
This commit is contained in:
parent
876a74364b
commit
e982d81d69
@ -461,11 +461,11 @@ inspect_args() {
|
||||
|
||||
|
||||
install_docker() {
|
||||
log_info "==> Installing Docker..."
|
||||
log_info "Installing Docker..."
|
||||
|
||||
# Check if Docker is already installed
|
||||
if command -v docker &>/dev/null; then
|
||||
log_info "==> Docker is already installed."
|
||||
log_info "Docker is already installed."
|
||||
return 0
|
||||
fi
|
||||
|
||||
@ -541,55 +541,55 @@ install_docker() {
|
||||
}
|
||||
|
||||
check_docker_running() {
|
||||
log_info "==> Checking if Docker service is running..."
|
||||
log_info "Checking if Docker service is running..."
|
||||
|
||||
# if Docker CLI is installed and Docker daemon is running
|
||||
if docker info >/dev/null 2>&1; then
|
||||
log_info "==> Docker is running."
|
||||
log_info "Docker is running."
|
||||
return 0
|
||||
fi
|
||||
|
||||
# if running on WSL, check for Docker socket
|
||||
if grep -qi microsoft /proc/version; then
|
||||
log_info " Detected WSL environment. Verifying /var/run/docker.sock..."
|
||||
log_info "Detected WSL environment. Verifying /var/run/docker.sock..."
|
||||
if [ -S /var/run/docker.sock ]; then
|
||||
log_info "==> Docker socket found. Docker should be available via Docker Desktop."
|
||||
log_info "Docker socket found. Docker should be available via Docker Desktop."
|
||||
return 0
|
||||
else
|
||||
log_error " Docker socket not found in WSL environment."
|
||||
log_error "Docker socket not found in WSL environment."
|
||||
return 1
|
||||
fi
|
||||
fi
|
||||
|
||||
log_info "==> Docker is not running. Attempting to start it..."
|
||||
log_info "Docker is not running. Attempting to start it..."
|
||||
|
||||
# Start Docker service using systemctl or service command
|
||||
if command -v systemctl &>/dev/null; then
|
||||
if systemctl list-units --type=service | grep -q "docker.service"; then
|
||||
log_info "==> Starting Docker with systemctl..."
|
||||
sudo systemctl start docker && log_info "==> Docker started successfully." && return 0
|
||||
log_info "Starting Docker with systemctl..."
|
||||
sudo systemctl start docker && log_info "Docker started successfully." && return 0
|
||||
fi
|
||||
fi
|
||||
|
||||
if command -v service &>/dev/null; then
|
||||
if service --status-all | grep -q "docker"; then
|
||||
log_info "==> Starting Docker with service..."
|
||||
sudo service docker start && log_info "==> Docker started successfully." && return 0
|
||||
log_info "Starting Docker with service..."
|
||||
sudo service docker start && log_info "Docker started successfully." && return 0
|
||||
fi
|
||||
fi
|
||||
|
||||
if command -v snap &>/dev/null && snap list | grep -q "docker"; then
|
||||
log_info "==> Starting Docker with snap..."
|
||||
sudo snap start docker && log_info "==> Docker started successfully." && return 0
|
||||
log_info "Starting Docker with snap..."
|
||||
sudo snap start docker && log_info "Docker started successfully." && return 0
|
||||
fi
|
||||
|
||||
log_error " Unable to start Docker automatically. Please start it manually."
|
||||
log_error "Unable to start Docker automatically. Please start it manually."
|
||||
return 1
|
||||
}
|
||||
|
||||
build_local_image() {
|
||||
local dockerfile_path="$1"
|
||||
log_info "==> [Build] use Dockerfile: $(grep '^FROM' "$dockerfile_path")"
|
||||
log_info "[Build] use Dockerfile: $(grep '^FROM' "$dockerfile_path")"
|
||||
|
||||
# Check if the image already exists
|
||||
docker rmi -f $devbox_full_image 2>/dev/null || true
|
||||
@ -637,7 +637,7 @@ get_port() {
|
||||
# Build the local image
|
||||
build_local_image() {
|
||||
local dockerfile_path="$1"
|
||||
log_info "==> [BUILD] Building local image..."
|
||||
log_info "[BUILD] Building local image..."
|
||||
docker buildx build \
|
||||
--platform linux/amd64 \
|
||||
--build-arg BUILDARCH="x86-64-v3" \
|
||||
@ -805,7 +805,7 @@ if true ; then
|
||||
# 4️⃣ Build the frontend
|
||||
pnpm run build
|
||||
|
||||
echo "==> [INIT] Backend and frontend environment initialization completed."
|
||||
echo "[INIT] \$(date '+%Y-%m-%d %H:%M:%S') Backend and frontend environment initialization completed."
|
||||
|
||||
fi
|
||||
EOF
|
||||
@ -876,7 +876,7 @@ docker exec -i "$DEVBOX_NAME" bash <<EOF
|
||||
echo
|
||||
echo "============================================================================================"
|
||||
echo
|
||||
echo "[BACKEND] \$(date '+%Y-%m-%d %H:%M:%S') [WARNING] Backend service is running with PID: \$backend_pid, if you want to restart, please stop it first or run devbox restart -e backend."
|
||||
echo "[BACKEND] [WARNING] Backend service is running with PID: \$backend_pid, if you want to restart, please stop it first or run devbox restart -e backend."
|
||||
echo
|
||||
echo "============================================================================================"
|
||||
echo
|
||||
@ -901,7 +901,7 @@ docker exec -i "$DEVBOX_NAME" bash <<EOF
|
||||
echo
|
||||
echo "============================================"
|
||||
echo
|
||||
echo "[BACKEND][ERROR] The virtual environment cannot be created. Please check the log for more information."
|
||||
echo "[BACKEND] [ERROR] The virtual environment cannot be created. Please check the log for more information."
|
||||
echo
|
||||
echo "============================================"
|
||||
echo
|
||||
@ -1292,7 +1292,7 @@ EOF
|
||||
# :command.command_functions
|
||||
# :command.function
|
||||
devbox_init_command() {
|
||||
log_info " [INIT] Starting DevBox environment initialization..."
|
||||
log_info "[INIT] Starting DevBox environment initialization..."
|
||||
echo
|
||||
|
||||
# -------------------------------------------------------------------
|
||||
@ -1386,8 +1386,8 @@ devbox_init_command() {
|
||||
# If is_pull_all_components is true, then pull all components
|
||||
if [[ "$is_pull_all_components" == true ]]; then
|
||||
start_components=("${components[@]}")
|
||||
log_info "==> Pulling all components..."
|
||||
log_info "==> start components: ${start_components[@]}"
|
||||
log_info "Pulling all components..."
|
||||
log_info "start components: ${start_components[@]}"
|
||||
fi
|
||||
|
||||
# Remove duplicated components
|
||||
@ -1395,21 +1395,21 @@ devbox_init_command() {
|
||||
|
||||
echo "===================================================== "
|
||||
log_info "Parameters:"
|
||||
log_info " OS = $OS"
|
||||
log_info " ARCH = $ARCH"
|
||||
log_info " DEVBOX_NAME = $DEVBOX_NAME"
|
||||
log_info " DEVBOX_PORT = $DEVBOX_PORT"
|
||||
log_info " DEVBOX_FRONTEND_PORT = $DEVBOX_FRONTEND_PORT"
|
||||
log_info " DEVBOX_BACKEND_PORT = $DEVBOX_BACKEND_PORT"
|
||||
log_info " DEVBOX_REPO = $DEVBOX_REPO"
|
||||
log_info " DEVBOX_IMAGE = $DEVBOX_IMAGE"
|
||||
log_info " DEVBOX_TAG = $DEVBOX_TAG"
|
||||
log_info " WORKING_HOME = $WORKING_HOME"
|
||||
log_info " FREELEAPS_USERNAME= $FREELEAPS_USERNAME"
|
||||
log_info " (FREELEAPS_PASSWORD is hidden for security)"
|
||||
log_info " USE_LOCAL_COMPONENT= $USE_LOCAL_COMPONENT"
|
||||
log_info " FREELEAPS_COMPONENTS= ${start_components[@]}"
|
||||
log_info " FORCE_INIT = $FORCE_INIT"
|
||||
log_info " OS = $OS"
|
||||
log_info " ARCH = $ARCH"
|
||||
log_info " DEVBOX_NAME = $DEVBOX_NAME"
|
||||
log_info " DEVBOX_PORT = $DEVBOX_PORT"
|
||||
log_info " DEVBOX_FRONTEND_PORT = $DEVBOX_FRONTEND_PORT"
|
||||
log_info " DEVBOX_BACKEND_PORT = $DEVBOX_BACKEND_PORT"
|
||||
log_info " DEVBOX_REPO = $DEVBOX_REPO"
|
||||
log_info " DEVBOX_IMAGE = $DEVBOX_IMAGE"
|
||||
log_info " DEVBOX_TAG = $DEVBOX_TAG"
|
||||
log_info " WORKING_HOME = $WORKING_HOME"
|
||||
log_info " FREELEAPS_USERNAME= $FREELEAPS_USERNAME"
|
||||
log_info " (FREELEAPS_PASSWORD is hidden for security)"
|
||||
log_info " USE_LOCAL_COMPONENT= $USE_LOCAL_COMPONENT"
|
||||
log_info " FREELEAPS_COMPONENTS= ${start_components[@]}"
|
||||
log_info " FORCE_INIT = $FORCE_INIT"
|
||||
echo
|
||||
|
||||
# -------------------------------------------------------------------
|
||||
@ -1422,9 +1422,9 @@ devbox_init_command() {
|
||||
|
||||
# Auto detected $OS
|
||||
if [[ "$OS" == "auto" ]]; then
|
||||
log_info "==> Auto detecting OS..."
|
||||
log_info "Auto detecting OS..."
|
||||
OS="$(detect_os)"
|
||||
log_info "==> Detected OS: $OS"
|
||||
log_info "Detected OS: $OS"
|
||||
fi
|
||||
|
||||
if [[ "$ARCH" != "auto" && "$ARCH" != "amd64" && "$ARCH" != "arm64" ]]; then
|
||||
@ -1440,7 +1440,7 @@ devbox_init_command() {
|
||||
if grep -q avx2 /proc/cpuinfo; then
|
||||
ARCH="amd64"
|
||||
ARCH_MICRO="v3"
|
||||
log_info "==> Detected AMD64 architecture."
|
||||
log_info "Detected AMD64 architecture."
|
||||
else
|
||||
ARCH="amd64"
|
||||
fi
|
||||
@ -1540,7 +1540,7 @@ devbox_init_command() {
|
||||
# Check if Installed the net-tools netstat under MacOS, WSL2 and Linux OS
|
||||
if [[ "$OS" == "darwin" || "$OS" == "wsl2" || "$OS" == "linux" ]]; then
|
||||
if ! command -v netstat &>/dev/null; then
|
||||
log_info "==> Installing net-tools package..."
|
||||
log_info "Installing net-tools package..."
|
||||
if [[ "$OS" == "darwin" ]]; then
|
||||
brew install net-tools
|
||||
elif [[ "$OS" == "wsl2" ]]; then
|
||||
@ -1553,11 +1553,11 @@ devbox_init_command() {
|
||||
exit_with_message " Failed install net-tools package on OS: $OS, please install it manually." 1
|
||||
fi
|
||||
else
|
||||
log_info "==> net-tools package already installed."
|
||||
log_info "net-tools package already installed."
|
||||
fi
|
||||
fi
|
||||
|
||||
log_info "==> Checking if the ports are in use..."
|
||||
log_info "Checking if the ports are in use..."
|
||||
# Check if the gittea, mongodb, rabbitmq, redis ports are in use
|
||||
if netstat -tuln | grep -q ":3000"; then
|
||||
exit_with_message " gitea port 3000 is already in use, please stop the service." 1
|
||||
@ -1579,16 +1579,16 @@ devbox_init_command() {
|
||||
exit_with_message " redis port 6379 is already in use, please stop the service." 1
|
||||
fi
|
||||
|
||||
log_info "==> Checking if the ports are in use... Done."
|
||||
log_info "Checking if the ports are in use... Done."
|
||||
|
||||
local devbox_full_image="${DEVBOX_REPO}/${DEVBOX_IMAGE}:${DEVBOX_TAG}"
|
||||
|
||||
# Check local and remote version. User doesn’t need to rebuild devbox if local version is consistent with remote version
|
||||
if [[ -n "$DEVBOX_REPO" && -n "$DEVBOX_IMAGE" && -n "$DEVBOX_TAG" ]]; then
|
||||
if docker images --format '{{.Repository}}:{{.Tag}}' | grep -q "^${DEVBOX_REPO}/${DEVBOX_IMAGE}:${DEVBOX_TAG}\$"; then
|
||||
log_info "==> DevBox image $devbox_full_image already exists."
|
||||
log_info "DevBox image $devbox_full_image already exists."
|
||||
else
|
||||
log_info "==> Pulling DevBox image $devbox_full_image..."
|
||||
log_info "Pulling DevBox image $devbox_full_image..."
|
||||
docker pull "$devbox_full_image"
|
||||
fi
|
||||
else
|
||||
@ -1598,7 +1598,7 @@ devbox_init_command() {
|
||||
# If container with same name exists, remove it
|
||||
if docker ps -a --format '{{.Names}}' | grep -q "^${DEVBOX_NAME}\$"; then
|
||||
if [[ -n "$FORCE_INIT" ]]; then
|
||||
log_info "==> Removing existing container named $DEVBOX_NAME ..."
|
||||
log_info "Removing existing container named $DEVBOX_NAME ..."
|
||||
docker stop "$DEVBOX_NAME" &>/dev/null || true
|
||||
docker rm "$DEVBOX_NAME" &>/dev/null || true
|
||||
|
||||
@ -1619,15 +1619,15 @@ devbox_init_command() {
|
||||
log_info ' Starting DevBox environment initialization...'
|
||||
# Check if docker network create devbox_freeleaps2-network
|
||||
if ! docker network ls | grep -q "$DEVBOX_FREELEAPS2_NETWORK"; then
|
||||
log_info "==> Creating Docker network: $DEVBOX_FREELEAPS2_NETWORK"
|
||||
log_info "Creating Docker network: $DEVBOX_FREELEAPS2_NETWORK"
|
||||
docker network create "$DEVBOX_FREELEAPS2_NETWORK"
|
||||
else
|
||||
log_info "==> Docker network devbox_freeleaps2-network already exists."
|
||||
log_info "Docker network devbox_freeleaps2-network already exists."
|
||||
fi
|
||||
|
||||
# Check if use custom repository
|
||||
if [[ -n "$USE_CUSTOM_REPOSITORY" ]]; then
|
||||
log_info " [INIT] Using custom repository."
|
||||
log_info "[INIT] Using custom repository."
|
||||
elif [[ -z "$FREELEAPS_USERNAME" || -z "$FREELEAPS_PASSWORD" ]]; then
|
||||
exit_with_message " Username or password is missing. Please provide a valid username and password for freeleaps.com repository." 1
|
||||
fi
|
||||
@ -1666,7 +1666,7 @@ devbox_init_command() {
|
||||
ENCODEING_FREELEAPS_USERNAME=$(url_encode "$FREELEAPS_USERNAME")
|
||||
ENCODEING_FREELEAPS_PASSWORD=$(url_encode "$FREELEAPS_PASSWORD")
|
||||
# Test if the user can access the freeleaps.com repository
|
||||
log_info "==> Testing access to freeleaps.com repository..."
|
||||
log_info "Testing access to freeleaps.com repository..."
|
||||
if ! git ls-remote "https://$ENCODEING_FREELEAPS_USERNAME:$ENCODEING_FREELEAPS_PASSWORD@freeleaps.com:3443/products/freeleaps.git" &>/dev/null; then
|
||||
exit_with_message " Failed to access freeleaps.com repository. Please check your username and password." 1
|
||||
fi
|
||||
@ -1708,7 +1708,7 @@ devbox_init_command() {
|
||||
|
||||
# Check if the custom repository is a git repository
|
||||
# Test if the user can access the custom repository
|
||||
log_info "==> Testing access to custom repository..."
|
||||
log_info "Testing access to custom repository..."
|
||||
if ! git ls-remote "$USE_CUSTOM_REPOSITORY" &>/dev/null; then
|
||||
exit_with_message " Failed to access custom repository. Please check the repository URL." 1
|
||||
fi
|
||||
@ -1751,7 +1751,7 @@ devbox_init_command() {
|
||||
# 6. linbwang: pull and start other components
|
||||
# -------------------------------------------------------------------
|
||||
|
||||
log_info "==> [INIT] Starting Freeleaps services... Use Local component $USE_LOCAL_COMPONENT_VAL"
|
||||
log_info "[INIT] Starting Freeleaps services... Use Local component $USE_LOCAL_COMPONENT_VAL"
|
||||
|
||||
export ARCH="$ARCH"
|
||||
export WORKING_HOME="$WORKING_HOME"
|
||||
@ -1768,10 +1768,10 @@ if [[ -n "$USE_CUSTOM_REPOSITORY" ]]; then
|
||||
echo
|
||||
echo "==========================================================="
|
||||
echo
|
||||
log_info "==> [INIT] Custom repository initialization completed."
|
||||
log_info "==> Custom repository is located at: ${WORKING_HOME}/${CUSTOM_FOLDER_NAME}"
|
||||
log_info "==> Custom repository URL: $ECHO_USE_CUSTOM_REPOSITORY"
|
||||
log_info "==> Custom repository is ready for use."
|
||||
log_info "[INIT] Custom repository initialization completed."
|
||||
log_info "Custom repository is located at: ${WORKING_HOME}/${CUSTOM_FOLDER_NAME}"
|
||||
log_info "Custom repository URL: $ECHO_USE_CUSTOM_REPOSITORY"
|
||||
log_info "Custom repository is ready for use."
|
||||
echo
|
||||
echo "==========================================================="
|
||||
echo
|
||||
@ -1780,7 +1780,7 @@ if [[ -n "$USE_CUSTOM_REPOSITORY" ]]; then
|
||||
fi
|
||||
|
||||
# Check if docker-compose command exists
|
||||
log_info "==> Cehck if docker-compose command exists"
|
||||
log_info "Cehck if docker-compose command exists"
|
||||
# Check if docker-compose is installed
|
||||
local DC_CMD
|
||||
if command -v docker-compose >/dev/null 2>&1; then
|
||||
@ -1790,7 +1790,7 @@ elif docker compose version >/dev/null 2>&1; then
|
||||
DC_CMD="docker compose"
|
||||
else
|
||||
DC_CMD=""
|
||||
log_error " docker-compose is not installed."
|
||||
log_error "docker-compose is not installed."
|
||||
fi
|
||||
if [[ "$DC_CMD" == "" ]]; then
|
||||
exit_with_message "Please install docker-compose or docker compose (v2) and try again." 1
|
||||
@ -1798,7 +1798,7 @@ fi
|
||||
|
||||
# If USE_LOCAL_COMPONENT is true, then use local components
|
||||
if [[ $USE_LOCAL_COMPONENT_VAL == true ]]; then
|
||||
log_info ' ===> Using local components for Freeleaps services.'
|
||||
log_info ' = Using local components for Freeleaps services.'
|
||||
|
||||
export DEVSVC_IMAGE_TAG="$component_tag"
|
||||
export CONTENT_IMAGE_TAG="$component_tag"
|
||||
@ -1856,7 +1856,7 @@ if [[ $USE_LOCAL_COMPONENT_VAL == true ]]; then
|
||||
done
|
||||
|
||||
# Start Gitea, MongoDB, RabbitMQ and other components containers
|
||||
log_info "===> start Gitea, MongoDB, RabbitMQ and other components containers"
|
||||
log_info "start Gitea, MongoDB, RabbitMQ and other components containers"
|
||||
$DC_CMD -f docker-compose.yaml up -d mongodb rabbitmq gitea redis "${start_components[@]}"
|
||||
|
||||
gitea_container_id=$(docker ps --no-trunc -a --filter "name=^freeleaps2-gitea$" --format "{{.ID}}")
|
||||
@ -1887,9 +1887,9 @@ if [[ $USE_LOCAL_COMPONENT_VAL == true ]]; then
|
||||
fi
|
||||
done
|
||||
else
|
||||
echo '============================================'
|
||||
log_info ' ===> Using online components for Freeleaps services.'
|
||||
echo '============================================'
|
||||
echo '============================================================'
|
||||
log_info 'Using online components for Freeleaps services.'
|
||||
echo '============================================================'
|
||||
# Start Gitea, MongoDB, RabbitMQ containers
|
||||
$DC_CMD -f docker-compose.yaml up -d mongodb rabbitmq redis
|
||||
|
||||
@ -1928,8 +1928,8 @@ if [[ "$user_input" == "N" || "$user_input" == "n" ]]; then
|
||||
echo "==========================================================="
|
||||
log_info "DevBox init completed successfully!"
|
||||
log_info "DevBox Environment Details:"
|
||||
log_info " DevBox container name: $DEVBOX_NAME"
|
||||
log_info " DevBox container ID: $WORKING_HOME/.devbox-instance"
|
||||
log_info "DevBox container name: $DEVBOX_NAME"
|
||||
log_info "DevBox container ID: $WORKING_HOME/.devbox-instance"
|
||||
echo "==========================================================="
|
||||
echo
|
||||
exit 0
|
||||
@ -1959,11 +1959,11 @@ EOF
|
||||
log_info "1. Code repository is located at: ${WORKING_HOME}/freeleaps"
|
||||
log_info "2. Open up the frontend by visiting: http://localhost:${DEVBOX_FRONTEND_PORT}"
|
||||
log_info "3. Log files can be viewed at:"
|
||||
log_info " - Backend logs: ${WORKING_HOME}/logs/backend.logs"
|
||||
log_info " - Frontend logs: ${WORKING_HOME}/logs/frontend.logs"
|
||||
log_info " DevBox container ID: $WORKING_HOME/.devbox-instance"
|
||||
log_info " Backend PID: $WORKING_HOME/.backend.pid"
|
||||
log_info " Frontend PID: $WORKING_HOME/.frontend.pid"
|
||||
log_info " - Backend logs: ${WORKING_HOME}/logs/backend.logs"
|
||||
log_info " - Frontend logs: ${WORKING_HOME}/logs/frontend.logs"
|
||||
log_info "DevBox container ID: $WORKING_HOME/.devbox-instance"
|
||||
log_info "Backend PID: $WORKING_HOME/.backend.pid"
|
||||
log_info "Frontend PID: $WORKING_HOME/.frontend.pid"
|
||||
echo "==========================================================="
|
||||
echo
|
||||
}
|
||||
@ -1972,27 +1972,27 @@ EOF
|
||||
devbox_deinit_command() {
|
||||
|
||||
# src/deinit_command.sh
|
||||
log_info " It contains the implementation for the 'devbox deinit' command."
|
||||
log_info "It contains the implementation for the 'devbox deinit' command."
|
||||
local WORKING_HOME="$(get_arg '--working-home' "${HOME}/devbox")"
|
||||
local CLEAR_LOGS="$(get_arg '--clear-logs')"
|
||||
local CLEAR_REPO="$(get_arg '--clear-repo')"
|
||||
local CLEAR_ALL="$(get_arg '--clear-all')"
|
||||
|
||||
# print the parameters
|
||||
log_info "==> Deinitialization parameters:"
|
||||
log_info " WORKING_HOME = $WORKING_HOME"
|
||||
log_info " CLEAR_LOGS = $CLEAR_LOGS"
|
||||
log_info " CLEAR_REPO = $CLEAR_REPO"
|
||||
log_info " CLEAR_ALL = $CLEAR_ALL"
|
||||
log_info "Deinitialization parameters:"
|
||||
log_info " WORKING_HOME = $WORKING_HOME"
|
||||
log_info " CLEAR_LOGS = $CLEAR_LOGS"
|
||||
log_info " CLEAR_REPO = $CLEAR_REPO"
|
||||
log_info " CLEAR_ALL = $CLEAR_ALL"
|
||||
|
||||
log_info "==> Starting DevBox deinitialization..."
|
||||
log_info "Starting DevBox deinitialization..."
|
||||
|
||||
# Stop and remove DevBox container
|
||||
|
||||
if [[ -f "$WORKING_HOME/.devbox-instance" ]]; then
|
||||
local container_id
|
||||
container_id=$(cat "$WORKING_HOME/.devbox-instance")
|
||||
log_info "==> Stopping and removing DevBox container: $container_id"
|
||||
log_info "Stopping and removing DevBox container: $container_id"
|
||||
docker stop "$container_id" &>/dev/null || true
|
||||
docker rm "$container_id" &>/dev/null || true
|
||||
|
||||
@ -2006,14 +2006,14 @@ devbox_deinit_command() {
|
||||
rm -f "$WORKING_HOME/.backend.pid"
|
||||
rm -f "$WORKING_HOME/.frontend.pid"
|
||||
else
|
||||
echo "==> DevBox container is not running."
|
||||
log_info "DevBox container is not running."
|
||||
if [[ -n "$(docker ps -a --format '{{.Names}}' | grep "^devbox\$")" ]]; then
|
||||
# Get the container ID of the DevBox container
|
||||
echo "==> DevBox container is stopped."
|
||||
log_info "DevBox container is stopped."
|
||||
local container_id
|
||||
container_id=$(docker ps -a --format '{{.Names}}' | grep "^devbox\$")
|
||||
|
||||
log_info "==> Stopping and removing DevBox container: $container_id"
|
||||
log_info "Stopping and removing DevBox container: $container_id"
|
||||
docker stop "$container_id" &>/dev/null || true
|
||||
docker rm "$container_id" &>/dev/null || true
|
||||
fi
|
||||
@ -2022,13 +2022,13 @@ devbox_deinit_command() {
|
||||
if [[ -f "$WORKING_HOME/.gitea-instance" ]]; then
|
||||
local gitea_container_id
|
||||
gitea_container_id=$(cat "$WORKING_HOME/.gitea-instance")
|
||||
log_info "==> Stopping and removing Gitea container: $gitea_container_id"
|
||||
log_info "Stopping and removing Gitea container: $gitea_container_id"
|
||||
docker stop "$gitea_container_id" &>/dev/null || true
|
||||
docker rm "$gitea_container_id" &>/dev/null || true
|
||||
|
||||
# Check if the Gitea container is still running, then use docker compose down to stop and remove the container
|
||||
if [[ -n "$(docker ps -a --format '{{.Names}}' | grep "^freeleaps2-gitea\$")" ]]; then
|
||||
log_info "==> Using docker-compose down to stop and remove Gitea container."
|
||||
log_info "Using docker-compose down to stop and remove Gitea container."
|
||||
$DC_CMD -f docker-compose.yaml down gitea
|
||||
fi
|
||||
|
||||
@ -2039,13 +2039,13 @@ devbox_deinit_command() {
|
||||
if [[ -f "$WORKING_HOME/.mongodb-instance" ]]; then
|
||||
local mongodb_container_id
|
||||
mongodb_container_id=$(cat "$WORKING_HOME/.mongodb-instance")
|
||||
log_info "==> Stopping and removing MongoDB container: $mongodb_container_id"
|
||||
log_info "Stopping and removing MongoDB container: $mongodb_container_id"
|
||||
docker stop "$mongodb_container_id" &>/dev/null || true
|
||||
docker rm "$mongodb_container_id" &>/dev/null || true
|
||||
|
||||
# Check if the MongoDB container is still running, then use docker compose down to stop and remove the container
|
||||
if [[ -n "$(docker ps -a --format '{{.Names}}' | grep "^freeleaps2-mongodb\$")" ]]; then
|
||||
log_info "==> Using docker-compose down to stop and remove MongoDB container."
|
||||
log_info "Using docker-compose down to stop and remove MongoDB container."
|
||||
$DC_CMD -f docker-compose.yaml down mongodb
|
||||
fi
|
||||
|
||||
@ -2055,13 +2055,13 @@ devbox_deinit_command() {
|
||||
if [[ -f "$WORKING_HOME/.redis-instance" ]]; then
|
||||
local redis_container_id
|
||||
redis_container_id=$(cat "$WORKING_HOME/.redis-instance")
|
||||
log_info "==> Stopping and removing Redis container: $redis_container_id"
|
||||
log_info "Stopping and removing Redis container: $redis_container_id"
|
||||
docker stop "$redis_container_id" &>/dev/null || true
|
||||
docker rm "$redis_container_id" &>/dev/null || true
|
||||
|
||||
# Check if the Redis container is still running, then use docker compose down to stop and remove the container
|
||||
if [[ -n "$(docker ps -a --format '{{.Names}}' | grep "^freeleaps2-redis\$")" ]]; then
|
||||
log_info "==> Using docker-compose down to stop and remove Redis container."
|
||||
log_info "Using docker-compose down to stop and remove Redis container."
|
||||
$DC_CMD -f docker-compose.yaml down redis
|
||||
fi
|
||||
|
||||
@ -2072,13 +2072,13 @@ devbox_deinit_command() {
|
||||
if [[ -f "$WORKING_HOME/.rabbitmq-instance" ]]; then
|
||||
local rabbitmq_container_id
|
||||
rabbitmq_container_id=$(cat "$WORKING_HOME/.rabbitmq-instance")
|
||||
log_info "==> Stopping and removing RabbitMQ container: $rabbitmq_container_id"
|
||||
log_info "Stopping and removing RabbitMQ container: $rabbitmq_container_id"
|
||||
docker stop "$rabbitmq_container_id" &>/dev/null || true
|
||||
docker rm "$rabbitmq_container_id" &>/dev/null || true
|
||||
|
||||
# Check if the RabbitMQ container is still running, then use docker compose down to stop and remove the container
|
||||
if [[ -n "$(docker ps -a --format '{{.Names}}' | grep "^freeleaps2-rabbitmq\$")" ]]; then
|
||||
log_info "==> Using docker-compose down to stop and remove RabbitMQ container."
|
||||
log_info "Using docker-compose down to stop and remove RabbitMQ container."
|
||||
$DC_CMD -f docker-compose.yaml down rabbitmq
|
||||
fi
|
||||
|
||||
@ -2091,13 +2091,13 @@ devbox_deinit_command() {
|
||||
if [[ -f "$WORKING_HOME/.${component}-instance" ]]; then
|
||||
local component_container_id
|
||||
component_container_id=$(cat "$WORKING_HOME/.${component}-instance")
|
||||
log_info "==> Stopping and removing ${component} container: $component_container_id"
|
||||
log_info "Stopping and removing ${component} container: $component_container_id"
|
||||
docker stop "$component_container_id" &>/dev/null || true
|
||||
docker rm "$component_container_id" &>/dev/null || true
|
||||
|
||||
# Check if the component is still running, then use docker compose down to stop and remove the container
|
||||
if [[ -n "$(docker ps -a --format '{{.Names}}' | grep "^$component\$")" ]]; then
|
||||
log_info "==> Using docker-compose down to stop and remove $component container."
|
||||
log_info "Using docker-compose down to stop and remove $component container."
|
||||
$DC_CMD -f docker-compose.yaml down "$component"
|
||||
fi
|
||||
|
||||
@ -2108,7 +2108,7 @@ devbox_deinit_command() {
|
||||
|
||||
# Clear the DevBox container logs
|
||||
if [[ "$CLEAR_LOGS" == "true" ]]; then
|
||||
log_info "==> Clearing logs in $WORKING_HOME/logs..."
|
||||
log_info "Clearing logs in $WORKING_HOME/logs..."
|
||||
if [[ -d "$WORKING_HOME/logs" ]]; then
|
||||
uid=$(id -u)
|
||||
gid=$(id -g)
|
||||
@ -2117,19 +2117,19 @@ devbox_deinit_command() {
|
||||
mkdir -p "$WORKING_HOME/logs" 2>/dev/null || true
|
||||
fi
|
||||
else
|
||||
log_info "==> Skipping log clearing."
|
||||
log_info "Skipping log clearing."
|
||||
fi
|
||||
|
||||
# Clear the source repository
|
||||
if [[ "$CLEAR_REPO" == "true" && -d "$WORKING_HOME/freeleaps" ]]; then
|
||||
log_info "==> Deleting source repository at $WORKING_HOME/freeleaps"
|
||||
log_info "Deleting source repository at $WORKING_HOME/freeleaps"
|
||||
uid=$(id -u)
|
||||
gid=$(id -g)
|
||||
sudo chown -R ${uid}:${gid} "$WORKING_HOME/freeleaps"
|
||||
rm -rf "$WORKING_HOME/freeleaps" 2>/dev/null || true
|
||||
rmdir "$WORKING_HOME/freeleaps" 2>/dev/null || true
|
||||
else
|
||||
log_info "==> Skipping repository deletion."
|
||||
log_info "Skipping repository deletion."
|
||||
fi
|
||||
|
||||
if [[ "$CLEAR_LOGS" == "true" ]]; then
|
||||
@ -2138,7 +2138,7 @@ devbox_deinit_command() {
|
||||
log_warn " $WORKING_HOME/logs still exists after removal."
|
||||
rm -rf "$WORKING_HOME/logs"
|
||||
else
|
||||
log_info "==> Logs directory removed successfully."
|
||||
log_info "Logs directory removed successfully."
|
||||
fi
|
||||
fi
|
||||
|
||||
@ -2151,7 +2151,7 @@ devbox_deinit_command() {
|
||||
REMOVE_WORKING_HOME=true
|
||||
|
||||
# Remove the working home directory
|
||||
log_info "==> Removing working home directory: $WORKING_HOME"
|
||||
log_info "Removing working home directory: $WORKING_HOME"
|
||||
if [[ -d "$WORKING_HOME" ]]; then
|
||||
uid=$(id -u)
|
||||
gid=$(id -g)
|
||||
@ -2159,10 +2159,10 @@ devbox_deinit_command() {
|
||||
rm -rf "$WORKING_HOME" 2>/dev/null || true
|
||||
rmdir "$WORKING_HOME" 2>/dev/null || true
|
||||
fi
|
||||
log_info "==> Working home directory removed successfully."
|
||||
log_info "Working home directory removed successfully."
|
||||
else
|
||||
REMOVE_WORKING_HOME=false
|
||||
log_info "==> Skipping working home directory removal."
|
||||
log_info "Skipping working home directory removal."
|
||||
fi
|
||||
fi
|
||||
|
||||
@ -2177,7 +2177,7 @@ devbox_deinit_command() {
|
||||
# Remove the use-local-component file
|
||||
rm -f "$WORKING_HOME/.use-local-component"
|
||||
|
||||
log_info "==> DevBox deinitialization completed."
|
||||
log_info "DevBox deinitialization completed."
|
||||
}
|
||||
|
||||
# :command.function
|
||||
@ -2217,10 +2217,10 @@ devbox_start_command() {
|
||||
fi
|
||||
|
||||
if [[ "$(lower "$USE_LOCAL_COMPONENT")" == "true" ]]; then
|
||||
log_info "==> Using local components for Freeleaps services."
|
||||
log_info "Using local components for Freeleaps services."
|
||||
USE_LOCAL_COMPONENT="true"
|
||||
else
|
||||
log_info "==> Using online components for Freeleaps services."
|
||||
log_info "Using online components for Freeleaps services."
|
||||
USE_LOCAL_COMPONENT="false"
|
||||
fi
|
||||
|
||||
@ -2237,7 +2237,7 @@ devbox_start_command() {
|
||||
COMPONENTS=("mongodb" "rabbitmq" "devbox")
|
||||
else
|
||||
if [[ "$COMPONENT" == "devsvc" || "$COMPONENT" == "notification" || "$COMPONENT" == "content" || "$COMPONENT" == "central_storage" || "$COMPONENT" == "chat" || "$COMPONENT" == "authentication" ]]; then
|
||||
exit_with_message "ERROR: Remote component $COMPONENT cannot be restarted, please use local components." 1
|
||||
exit_with_message "Remote component $COMPONENT cannot be restarted, please use local components." 1
|
||||
fi
|
||||
|
||||
COMPONENTS=("$COMPONENT")
|
||||
@ -2248,23 +2248,23 @@ devbox_start_command() {
|
||||
for comp in "${COMPONENTS[@]}"; do
|
||||
case "$comp" in
|
||||
"gitea" | "mongodb" | "rabbitmq" | "devbox" | "devsvc" | "notification" | "content" | "central_storage" | "chat" | "authentication")
|
||||
log_info "==> Starting $comp service..."
|
||||
log_info "Starting $comp service..."
|
||||
# Check if the component container file exists
|
||||
local component_container_id_file_path="${WORKING_HOME}/.${comp}-instance"
|
||||
if [[ ! -f "$component_container_id_file_path" ]]; then
|
||||
log_error " $comp container is not running. Please run 'devbox init' first."
|
||||
log_error "$comp container is not running. Please run 'devbox init' first."
|
||||
else
|
||||
local component_container_id=$(cat "$component_container_id_file_path")
|
||||
if ! docker ps --no-trunc --format '{{.ID}}' | grep -q "^${component_container_id}\$"; then
|
||||
log_info "==> $comp container is not running, starting container..."
|
||||
log_info "$comp container is not running, starting container..."
|
||||
# Start the container
|
||||
if ! docker start "${component_container_id}"; then
|
||||
log_error " Failed to start $comp container."
|
||||
log_error "Failed to start $comp container."
|
||||
else
|
||||
log_info "==> $comp container started successfully."
|
||||
log_info "$comp container started successfully."
|
||||
fi
|
||||
else
|
||||
log_info "==> $comp container is already running."
|
||||
log_info "$comp container is already running."
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
@ -2287,7 +2287,7 @@ devbox_start_command() {
|
||||
done
|
||||
|
||||
if docker ps --no-trunc --format '{{.ID}}' | grep -q "^${devbox_container_id}\$"; then
|
||||
log_info "==> Starting Freeleaps frontend and backend services..."
|
||||
log_info "Starting Freeleaps frontend and backend services..."
|
||||
# Check if start backend service
|
||||
if [[ "${START_BACKEND}" == "true" ]]; then
|
||||
compile_backend_service
|
||||
@ -2302,7 +2302,7 @@ devbox_start_command() {
|
||||
fi
|
||||
fi
|
||||
|
||||
success_message="==> Freeleaps services started successfully. "
|
||||
success_message=" Freeleaps services started successfully. "
|
||||
|
||||
frontend_port=$(cat "${WORKING_HOME}/.devbox-frontend-port")
|
||||
if [[ "${START_FRONTEND}" == "true" && "${START_BACKEND}" == "true" ]]; then
|
||||
@ -2352,7 +2352,7 @@ devbox_stop_command() {
|
||||
if [[ -f "${WORKING_HOME}/.backend.pid" ]]; then
|
||||
stop_backend_service
|
||||
else
|
||||
log_info "==> Backend service is not running."
|
||||
log_info "Backend service is not running."
|
||||
fi
|
||||
fi
|
||||
|
||||
@ -2361,7 +2361,7 @@ devbox_stop_command() {
|
||||
if [[ -f "${WORKING_HOME}/.frontend.pid" ]]; then
|
||||
stop_frontend_service
|
||||
else
|
||||
log_info "==> Frontend service is not running."
|
||||
log_info "Frontend service is not running."
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
@ -2407,16 +2407,16 @@ devbox_stop_command() {
|
||||
local container_id
|
||||
container_id=$(cat "${WORKING_HOME}/.devbox-instance")
|
||||
if docker ps --no-trunc --format '{{.ID}}' | grep -q "^${container_id}\$"; then
|
||||
log_info "==> Stopping devbox..."
|
||||
log_info "Stopping devbox..."
|
||||
docker stop "$container_id" &>/dev/null || true
|
||||
# Remove the frontend and backend pid files
|
||||
rm -f "${WORKING_HOME}/.backend.pid"
|
||||
rm -f "${WORKING_HOME}/.frontend.pid"
|
||||
else
|
||||
log_info "==> DevBox container is not running."
|
||||
log_info "DevBox container is not running."
|
||||
fi
|
||||
else
|
||||
log_info "==> Backend service is not running."
|
||||
log_info "Backend service is not running."
|
||||
fi
|
||||
;;
|
||||
|
||||
@ -2425,13 +2425,13 @@ devbox_stop_command() {
|
||||
local container_id
|
||||
container_id=$(cat "${WORKING_HOME}/.${comp}-instance")
|
||||
if docker ps --no-trunc --format '{{.ID}}' | grep -q "^${container_id}\$"; then
|
||||
log_info "==> Stopping $comp service..."
|
||||
log_info "Stopping $comp service..."
|
||||
docker stop "$container_id" &>/dev/null || true
|
||||
else
|
||||
log_info "==> $comp service is not running."
|
||||
log_info "$comp service is not running."
|
||||
fi
|
||||
else
|
||||
log_info "==> $comp service is not running."
|
||||
log_info "$comp service is not running."
|
||||
fi
|
||||
;;
|
||||
*)
|
||||
@ -2440,14 +2440,14 @@ devbox_stop_command() {
|
||||
esac
|
||||
done
|
||||
|
||||
exit_with_message "[INFO] Stopped Freeleaps services successfully. " 0
|
||||
exit_with_message "Stopped Freeleaps services successfully. " 0
|
||||
|
||||
}
|
||||
|
||||
# :command.function
|
||||
devbox_status_command() {
|
||||
|
||||
log_info "==> Checking DevBox services status..."
|
||||
log_info "Checking DevBox services status..."
|
||||
local COMPONENT="$(get_arg '--component')"
|
||||
local WORKING_HOME="$(get_arg '--working-home' "${HOME}/devbox")"
|
||||
|
||||
@ -2474,7 +2474,7 @@ devbox_status_command() {
|
||||
for comp in "${COMPONENTS[@]}"; do
|
||||
case "$comp" in
|
||||
"mongodb")
|
||||
log_info "==> Checking MongoDB status..."
|
||||
log_info "Checking MongoDB status..."
|
||||
if [[ -f "${WORKING_HOME}/.mongodb-instance" ]]; then
|
||||
local container_id
|
||||
container_id=$(cat "${WORKING_HOME}/.mongodb-instance")
|
||||
@ -2489,7 +2489,7 @@ devbox_status_command() {
|
||||
;;
|
||||
|
||||
"rabbitmq")
|
||||
log_info "==> Checking RabbitMQ status..."
|
||||
log_info "Checking RabbitMQ status..."
|
||||
if [[ -f "${WORKING_HOME}/.rabbitmq-instance" ]]; then
|
||||
local container_id
|
||||
container_id=$(cat "${WORKING_HOME}/.rabbitmq-instance")
|
||||
@ -2504,7 +2504,7 @@ devbox_status_command() {
|
||||
;;
|
||||
|
||||
"devbox")
|
||||
log_info "==> Checking devbox service status..."
|
||||
log_info "Checking devbox service status..."
|
||||
if [[ -f "${WORKING_HOME}/.devbox-instance" ]]; then
|
||||
local container_id
|
||||
container_id=$(cat "${WORKING_HOME}/.devbox-instance")
|
||||
@ -2519,7 +2519,7 @@ devbox_status_command() {
|
||||
;;
|
||||
|
||||
"devsvc" | "notification" | "content" | "central_storage" | "chat" | "authentication")
|
||||
log_info "==> Checking $comp service status..."
|
||||
log_info "Checking $comp service status..."
|
||||
if [[ -f "${WORKING_HOME}/.${comp}-instance" ]]; then
|
||||
local container_id
|
||||
container_id=$(cat "${WORKING_HOME}/.${comp}-instance")
|
||||
@ -2538,12 +2538,12 @@ devbox_status_command() {
|
||||
;;
|
||||
esac
|
||||
done
|
||||
exit_with_message "==> DevBox services status checked successfully." 0
|
||||
exit_with_message " DevBox services status checked successfully." 0
|
||||
}
|
||||
|
||||
# :command.function
|
||||
devbox_restart_command() {
|
||||
log_info "==> Restarting DevBox services..."
|
||||
log_info "Restarting DevBox services..."
|
||||
local COMPONENT="$(get_arg '--component')"
|
||||
local WORKING_HOME="$(get_arg '--working-home' "${HOME}/devbox")"
|
||||
local FREELEAPS_ENDPOINT="$(get_arg '--freeleaps-endpoint')"
|
||||
@ -2574,7 +2574,7 @@ devbox_restart_command() {
|
||||
devbox_container_id=$(cat "${WORKING_HOME}/.devbox-instance")
|
||||
log_info "docker ps --no-trunc --format ${devbox_container_id} "
|
||||
if docker ps --no-trunc --format '{{.ID}}' | grep -q "${devbox_container_id}\$"; then
|
||||
log_info "==> Starting Freeleaps frontend and backend services..."
|
||||
log_info "Starting Freeleaps frontend and backend services..."
|
||||
# Check if start backend service
|
||||
if [[ "${START_BACKEND}" == "true" ]]; then
|
||||
stop_backend_service
|
||||
@ -2609,14 +2609,14 @@ devbox_restart_command() {
|
||||
# Check if current environment is using local components
|
||||
USE_LOCAL_COMPONENT=$(cat "${WORKING_HOME}/.use-local-component" 2>/dev/null || true)
|
||||
if [[ "$USE_LOCAL_COMPONENT" == "true" ]]; then
|
||||
log_info "==> Using local components..."
|
||||
log_info "Using local components..."
|
||||
if [[ -z "$COMPONENT" ]]; then
|
||||
COMPONENTS=("gitea" "mongodb" "rabbitmq" "devbox" "devsvc" "notification" "content" "central_storage" "chat" "authentication")
|
||||
else
|
||||
COMPONENTS=("$COMPONENT")
|
||||
fi
|
||||
else
|
||||
log_info "==> Using remote components..."
|
||||
log_info "Using remote components..."
|
||||
if [[ -z "$COMPONENT" ]]; then
|
||||
COMPONENTS=("mongodb" "rabbitmq" "devbox")
|
||||
else
|
||||
@ -2635,14 +2635,14 @@ devbox_restart_command() {
|
||||
if [[ -f "${WORKING_HOME}/.devbox-instance" ]]; then
|
||||
local container_id
|
||||
container_id=$(cat "${WORKING_HOME}/.devbox-instance")
|
||||
log_info "==> Stopping devbox service..."
|
||||
log_info "Stopping devbox service..."
|
||||
docker stop "$container_id" &>/dev/null || true
|
||||
|
||||
# Remove the frontend and backend pid files
|
||||
rm -f "${WORKING_HOME}/.backend.pid"
|
||||
rm -f "${WORKING_HOME}/.frontend.pid"
|
||||
else
|
||||
log_info "==> Devbox is not running."
|
||||
log_info "Devbox is not running."
|
||||
fi
|
||||
;;
|
||||
|
||||
@ -2651,10 +2651,10 @@ devbox_restart_command() {
|
||||
if [[ -f "${WORKING_HOME}/.${comp}-instance" ]]; then
|
||||
local container_id
|
||||
container_id=$(cat "${WORKING_HOME}/.${comp}-instance")
|
||||
log_info "==> Stopping $comp service..."
|
||||
log_info "Stopping $comp service..."
|
||||
docker stop "$container_id" &>/dev/null || true
|
||||
else
|
||||
log_info "==> $comp service is not running."
|
||||
log_info "$comp service is not running."
|
||||
fi
|
||||
;;
|
||||
*)
|
||||
@ -2667,13 +2667,13 @@ devbox_restart_command() {
|
||||
for comp in "${COMPONENTS[@]}"; do
|
||||
case "$comp" in
|
||||
"gitea" | "mongodb" | "rabbitmq" | "devbox" | "devsvc" | "notification" | "content" | "central_storage" | "chat" | "authentication")
|
||||
log_info "==> Restarting $comp service..."
|
||||
log_info "Restarting $comp service..."
|
||||
if [[ -f "${WORKING_HOME}/.${comp}-instance" ]]; then
|
||||
local container_id
|
||||
container_id=$(cat "${WORKING_HOME}/.${comp}-instance")
|
||||
docker start "$container_id" &>/dev/null || true
|
||||
else
|
||||
log_info "==> $comp service is not running."
|
||||
log_info "$comp service is not running."
|
||||
fi
|
||||
;;
|
||||
*)
|
||||
@ -2682,7 +2682,7 @@ devbox_restart_command() {
|
||||
esac
|
||||
done
|
||||
|
||||
exit_with_message "==> DevBox services restarted successfully." 0
|
||||
exit_with_message " DevBox services restarted successfully." 0
|
||||
}
|
||||
|
||||
# :command.parse_requirements
|
||||
|
||||
Loading…
Reference in New Issue
Block a user