Spaces:
Paused
Paused
Update Dockerfile
Browse files- Dockerfile +9 -9
Dockerfile
CHANGED
|
@@ -73,6 +73,7 @@ PERSIST_DIR="${DATA_DIR:-/app/data}"
|
|
| 73 |
WORK_DIR="/tmp/lumi-recovery"
|
| 74 |
RECOVERY_DIR="$PERSIST_DIR/recovery"
|
| 75 |
DB_NAME="lumiverse.db"
|
|
|
|
| 76 |
|
| 77 |
mkdir -p "$WORK_DIR" "$RECOVERY_DIR"
|
| 78 |
|
|
@@ -88,8 +89,7 @@ pick_corrupt() {
|
|
| 88 |
}
|
| 89 |
|
| 90 |
CORRUPT_SRC="$(pick_corrupt || true)"
|
| 91 |
-
|
| 92 |
-
LIVE_DB="$PERSIST_DIR/$DB_NAME"
|
| 93 |
|
| 94 |
copy_backup() {
|
| 95 |
src="$1"
|
|
@@ -135,21 +135,21 @@ try_dump() {
|
|
| 135 |
|
| 136 |
recover_attempt() {
|
| 137 |
src="$1"
|
| 138 |
-
rm -f "$
|
| 139 |
copy_backup "$src"
|
| 140 |
|
| 141 |
if try_integrity "$WORK_DIR/$(basename "$src")"; then
|
| 142 |
echo "[recover] Source file is already healthy"
|
| 143 |
-
cp "$WORK_DIR/$(basename "$src")" "$
|
| 144 |
return 0
|
| 145 |
fi
|
| 146 |
|
| 147 |
-
if try_recover "$WORK_DIR/$(basename "$src")" "$
|
| 148 |
return 0
|
| 149 |
fi
|
| 150 |
|
| 151 |
-
rm -f "$
|
| 152 |
-
if try_dump "$WORK_DIR/$(basename "$src")" "$
|
| 153 |
return 0
|
| 154 |
fi
|
| 155 |
|
|
@@ -159,8 +159,8 @@ recover_attempt() {
|
|
| 159 |
if [ -n "${CORRUPT_SRC:-}" ]; then
|
| 160 |
echo "[recover] Source candidate: $CORRUPT_SRC"
|
| 161 |
if recover_attempt "$CORRUPT_SRC"; then
|
| 162 |
-
echo "[recover] Recovery completed: $
|
| 163 |
-
cp "$
|
| 164 |
rm -f "$LIVE_DB-wal" "$LIVE_DB-shm" 2>/dev/null || true
|
| 165 |
else
|
| 166 |
echo "[recover] All recovery attempts failed"
|
|
|
|
| 73 |
WORK_DIR="/tmp/lumi-recovery"
|
| 74 |
RECOVERY_DIR="$PERSIST_DIR/recovery"
|
| 75 |
DB_NAME="lumiverse.db"
|
| 76 |
+
LIVE_DB="$PERSIST_DIR/$DB_NAME"
|
| 77 |
|
| 78 |
mkdir -p "$WORK_DIR" "$RECOVERY_DIR"
|
| 79 |
|
|
|
|
| 89 |
}
|
| 90 |
|
| 91 |
CORRUPT_SRC="$(pick_corrupt || true)"
|
| 92 |
+
RECOVERED_DB="$RECOVERY_DIR/$DB_NAME"
|
|
|
|
| 93 |
|
| 94 |
copy_backup() {
|
| 95 |
src="$1"
|
|
|
|
| 135 |
|
| 136 |
recover_attempt() {
|
| 137 |
src="$1"
|
| 138 |
+
rm -f "$RECOVERED_DB" "$WORK_DIR/dump.sql" 2>/dev/null || true
|
| 139 |
copy_backup "$src"
|
| 140 |
|
| 141 |
if try_integrity "$WORK_DIR/$(basename "$src")"; then
|
| 142 |
echo "[recover] Source file is already healthy"
|
| 143 |
+
cp "$WORK_DIR/$(basename "$src")" "$RECOVERED_DB"
|
| 144 |
return 0
|
| 145 |
fi
|
| 146 |
|
| 147 |
+
if try_recover "$WORK_DIR/$(basename "$src")" "$RECOVERED_DB"; then
|
| 148 |
return 0
|
| 149 |
fi
|
| 150 |
|
| 151 |
+
rm -f "$RECOVERED_DB" 2>/dev/null || true
|
| 152 |
+
if try_dump "$WORK_DIR/$(basename "$src")" "$RECOVERED_DB"; then
|
| 153 |
return 0
|
| 154 |
fi
|
| 155 |
|
|
|
|
| 159 |
if [ -n "${CORRUPT_SRC:-}" ]; then
|
| 160 |
echo "[recover] Source candidate: $CORRUPT_SRC"
|
| 161 |
if recover_attempt "$CORRUPT_SRC"; then
|
| 162 |
+
echo "[recover] Recovery completed: $RECOVERED_DB"
|
| 163 |
+
cp "$RECOVERED_DB" "$LIVE_DB"
|
| 164 |
rm -f "$LIVE_DB-wal" "$LIVE_DB-shm" 2>/dev/null || true
|
| 165 |
else
|
| 166 |
echo "[recover] All recovery attempts failed"
|