mirror of
https://github.com/nocodb/nocodb.git
synced 2026-02-01 23:58:31 +00:00
fix: recover upstall from deleted persistent store
This commit is contained in:
@@ -380,6 +380,25 @@ check_if_docker_is_running() {
|
||||
fi
|
||||
}
|
||||
|
||||
persistent_store_isdeleted() {
|
||||
_persistent_store="$1"
|
||||
|
||||
if [ ! -d "$_persistent_store" ]; then
|
||||
print_warning "Persistent store was deleted without stopping the containers"
|
||||
|
||||
for container in $($CONFIG_DOCKER_COMMAND ps | grep -Eo 'nocodb-[a-z]+-[0-9]+$'); do
|
||||
if ! $CONFIG_DOCKER_COMMAND stop "$container" > /dev/null 2>&1; then
|
||||
print_error "Failed to stop ${container}"
|
||||
exit 1
|
||||
fi
|
||||
done
|
||||
|
||||
return 0
|
||||
fi
|
||||
|
||||
return 1
|
||||
}
|
||||
|
||||
# Main functions
|
||||
check_existing_installation() {
|
||||
NOCO_FOUND=false
|
||||
@@ -388,18 +407,17 @@ check_existing_installation() {
|
||||
if [ -d "$NOCO_HOME" ]; then
|
||||
NOCO_FOUND=true
|
||||
elif $CONFIG_DOCKER_COMMAND ps --format '{{.Names}}' | grep -q "nocodb"; then
|
||||
NOCO_ID=$($CONFIG_DOCKER_COMMAND ps | grep "nocodb/nocodb" | cut -d ' ' -f 1)
|
||||
CUSTOM_HOME=$($CONFIG_DOCKER_COMMAND inspect --format='{{index .Mounts 0}}' "$NOCO_ID" | cut -d ' ' -f 3)
|
||||
PARENT_DIR=$(dirname "$CUSTOM_HOME")
|
||||
NOCO_ID="$($CONFIG_DOCKER_COMMAND ps | grep "nocodb/nocodb" | cut -d ' ' -f 1)"
|
||||
CUSTOM_HOME="$($CONFIG_DOCKER_COMMAND inspect --format='{{index .Mounts 0}}' "$NOCO_ID" | cut -d ' ' -f 3)"
|
||||
PARENT_DIR="$(dirname "$CUSTOM_HOME")"
|
||||
|
||||
ln -s "$PARENT_DIR" "$NOCO_HOME"
|
||||
basename "$PARENT_DIR" >"$NOCO_HOME/.COMPOSE_PROJECT_NAME"
|
||||
|
||||
NOCO_FOUND=true
|
||||
else
|
||||
mkdir -p "$NOCO_HOME"
|
||||
if ! persistent_store_isdeleted "$PARENT_DIR"; then
|
||||
ln -s "$PARENT_DIR" "$NOCO_HOME"
|
||||
basename "$PARENT_DIR" >"$NOCO_HOME/.COMPOSE_PROJECT_NAME"
|
||||
NOCO_FOUND=true
|
||||
fi
|
||||
fi
|
||||
|
||||
mkdir -p "$NOCO_HOME"
|
||||
cd "$NOCO_HOME" || exit 1
|
||||
|
||||
# Check if nocodb is already installed
|
||||
|
||||
Reference in New Issue
Block a user