mirror of
https://github.com/error311/FileRise.git
synced 2026-01-07 04:10:16 -06:00
docs: add update script and improve manual install instructions
This commit is contained in:
44
scripts/update-filerise.sh
Normal file
44
scripts/update-filerise.sh
Normal file
@@ -0,0 +1,44 @@
|
||||
#!/usr/bin/env bash
|
||||
# Update FileRise in /var/www from a GitHub release ZIP
|
||||
set -Eeuo pipefail
|
||||
|
||||
# Usage: ./update-filerise.sh v2.5.2
|
||||
VERSION="${1:-v2.5.2}"
|
||||
ASSET="FileRise-${VERSION}.zip"
|
||||
|
||||
WEBROOT="/var/www"
|
||||
TMP="/tmp/filerise-update"
|
||||
|
||||
echo "Updating FileRise in ${WEBROOT} to ${VERSION}"
|
||||
|
||||
# 0) Backup config + data
|
||||
stamp="$(date +%F-%H%M)"
|
||||
mkdir -p /root/backups
|
||||
tar -C "$WEBROOT" -czf "/root/backups/filerise-$stamp.tgz" config uploads users metadata || true
|
||||
echo "Backup saved to /root/backups/filerise-$stamp.tgz"
|
||||
|
||||
# 1) Fetch the release zip
|
||||
rm -rf "$TMP"
|
||||
mkdir -p "$TMP"
|
||||
curl -fsSL "https://github.com/error311/FileRise/releases/download/${VERSION}/${ASSET}" -o "$TMP/$ASSET"
|
||||
|
||||
# 2) Unzip to a staging dir
|
||||
unzip -q "$TMP/$ASSET" -d "$TMP"
|
||||
STAGE_DIR="$(find "$TMP" -maxdepth 1 -type d -name 'FileRise*' ! -path "$TMP" | head -n1 || true)"
|
||||
[ -n "${STAGE_DIR:-}" ] || STAGE_DIR="$TMP"
|
||||
|
||||
# 3) Sync code into /var/www
|
||||
# - keep existing config/config.php
|
||||
# - keep data dirs (uploads/users/metadata)
|
||||
# - don't sync CI/docker stuff
|
||||
rsync -a --delete --exclude='config/config.php' --exclude='uploads/***' --exclude='users/***' --exclude='metadata/***' --exclude='.github/***' --exclude='docker-compose.yml' "$STAGE_DIR"/ "$WEBROOT"/
|
||||
|
||||
# 4) Ownership (Ubuntu/Debian w/ Apache)
|
||||
chown -R www-data:www-data "$WEBROOT"
|
||||
|
||||
# 5) Composer (usually not needed; release ZIP includes vendor/)
|
||||
if [ ! -d "$WEBROOT/vendor" ] && command -v composer >/dev/null 2>&1; then
|
||||
(cd "$WEBROOT" && composer install --no-dev --optimize-autoloader)
|
||||
fi
|
||||
|
||||
echo "FileRise updated to ${VERSION} in ${WEBROOT}"
|
||||
Reference in New Issue
Block a user