Align simple setup storage paths (#27)
This commit is contained in:
+45
-2
@@ -132,6 +132,37 @@ command_exists() {
|
|||||||
command -v "$1" >/dev/null 2>&1
|
command -v "$1" >/dev/null 2>&1
|
||||||
}
|
}
|
||||||
|
|
||||||
|
ensure_storage_layout() {
|
||||||
|
local base_dir="$1"
|
||||||
|
local storage_root="$base_dir/storage"
|
||||||
|
local storage_events_dir="$storage_root/events"
|
||||||
|
|
||||||
|
mkdir -p "$storage_events_dir/active" \
|
||||||
|
"$storage_events_dir/archived" \
|
||||||
|
"$storage_root/thumbnails" \
|
||||||
|
"$storage_root/tmp"
|
||||||
|
|
||||||
|
local legacy_dir="$base_dir/events"
|
||||||
|
if [[ -d "$legacy_dir" ]]; then
|
||||||
|
log_step "Migrating legacy events directory to storage/events..."
|
||||||
|
mkdir -p "$storage_events_dir"
|
||||||
|
|
||||||
|
local existing=""
|
||||||
|
if [[ -d "$storage_events_dir" ]]; then
|
||||||
|
existing=$(ls -A "$storage_events_dir" 2>/dev/null || true)
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ ! -d "$storage_events_dir" || -z "$existing" ]]; then
|
||||||
|
rm -rf "$storage_events_dir"
|
||||||
|
mv "$legacy_dir" "$storage_events_dir"
|
||||||
|
else
|
||||||
|
cp -a "$legacy_dir/." "$storage_events_dir/"
|
||||||
|
rm -rf "$legacy_dir"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
mkdir -p "$storage_events_dir/active" "$storage_events_dir/archived"
|
||||||
|
}
|
||||||
|
|
||||||
generate_password() {
|
generate_password() {
|
||||||
openssl rand -base64 32 | tr -d "=+/" | cut -c1-16
|
openssl rand -base64 32 | tr -d "=+/" | cut -c1-16
|
||||||
}
|
}
|
||||||
@@ -602,7 +633,8 @@ setup_native_installation() {
|
|||||||
|
|
||||||
# Create application directory
|
# Create application directory
|
||||||
log_step "Creating application directory..."
|
log_step "Creating application directory..."
|
||||||
mkdir -p "$NATIVE_APP_DIR"/{app,events/{active,archived},logs,config}
|
mkdir -p "$NATIVE_APP_DIR"/{app,logs,config}
|
||||||
|
ensure_storage_layout "$NATIVE_APP_DIR"
|
||||||
chown -R $NATIVE_APP_USER:$NATIVE_APP_USER "$NATIVE_APP_DIR"
|
chown -R $NATIVE_APP_USER:$NATIVE_APP_USER "$NATIVE_APP_DIR"
|
||||||
|
|
||||||
# Clone repository
|
# Clone repository
|
||||||
@@ -668,7 +700,7 @@ DATABASE_CLIENT=sqlite3
|
|||||||
DATABASE_PATH=$NATIVE_APP_DIR/app/backend/data/photo_sharing.db
|
DATABASE_PATH=$NATIVE_APP_DIR/app/backend/data/photo_sharing.db
|
||||||
|
|
||||||
# Storage root (thumbnails/uploads live under this path)
|
# Storage root (thumbnails/uploads live under this path)
|
||||||
STORAGE_PATH=$NATIVE_APP_DIR
|
STORAGE_PATH=$NATIVE_APP_DIR/storage
|
||||||
|
|
||||||
# Email
|
# Email
|
||||||
SMTP_ENABLED=${SMTP_HOST:+true}
|
SMTP_ENABLED=${SMTP_HOST:+true}
|
||||||
@@ -1102,6 +1134,17 @@ update_native_installation() {
|
|||||||
echo "FRONTEND_DIR=$NATIVE_APP_DIR/app/frontend/dist" >> "$NATIVE_APP_DIR/app/backend/.env"
|
echo "FRONTEND_DIR=$NATIVE_APP_DIR/app/frontend/dist" >> "$NATIVE_APP_DIR/app/backend/.env"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
ensure_storage_layout "$NATIVE_APP_DIR"
|
||||||
|
chown -R $NATIVE_APP_USER:$NATIVE_APP_USER "$NATIVE_APP_DIR/storage"
|
||||||
|
|
||||||
|
if [[ -f "$NATIVE_APP_DIR/app/backend/.env" ]]; then
|
||||||
|
if grep -q '^STORAGE_PATH=' "$NATIVE_APP_DIR/app/backend/.env"; then
|
||||||
|
sed -i "s|^STORAGE_PATH=.*|STORAGE_PATH=$NATIVE_APP_DIR/storage|" "$NATIVE_APP_DIR/app/backend/.env"
|
||||||
|
else
|
||||||
|
echo "STORAGE_PATH=$NATIVE_APP_DIR/storage" >> "$NATIVE_APP_DIR/app/backend/.env"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
# Restart services
|
# Restart services
|
||||||
systemctl restart picpeak-backend
|
systemctl restart picpeak-backend
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user