diff --git a/ct/snowshare.sh b/ct/snowshare.sh index 5a3a4f3df..84215ac2d 100644 --- a/ct/snowshare.sh +++ b/ct/snowshare.sh @@ -35,16 +35,20 @@ function update_script() { systemctl stop snowshare msg_ok "Stopped Service" - msg_info "Backing up uploads" - [ -d /opt/snowshare/uploads ] && cp -a /opt/snowshare/uploads /opt/.snowshare_uploads_backup - msg_ok "Uploads backed up" + if ! grep -q '^UPLOAD_DIR=' /opt/snowshare.env 2>/dev/null; then + msg_info "Migrating uploads to persistent directory" + mkdir -p /opt/snowshare_data + if [ -d /opt/snowshare/uploads ] && [ -z "$(ls -A /opt/snowshare_data 2>/dev/null)" ]; then + mv /opt/snowshare/uploads/* /opt/snowshare_data/ 2>/dev/null || true + mv /opt/snowshare/uploads/.[!.]* /opt/snowshare_data/ 2>/dev/null || true + rmdir /opt/snowshare/uploads 2>/dev/null || true + fi + echo "UPLOAD_DIR=/opt/snowshare_data" >>/opt/snowshare.env + msg_ok "Migrated uploads to /opt/snowshare_data" + fi CLEAN_INSTALL=1 fetch_and_deploy_gh_release "snowshare" "TuroYT/snowshare" "tarball" - msg_info "Restoring uploads" - [ -d /opt/.snowshare_uploads_backup ] && rm -rf /opt/snowshare/uploads && cp -a /opt/.snowshare_uploads_backup /opt/snowshare/uploads - msg_ok "Uploads restored" - msg_info "Updating Snowshare" cd /opt/snowshare $STD npm ci diff --git a/install/snowshare-install.sh b/install/snowshare-install.sh index 98c91fee4..e2ae315ae 100644 --- a/install/snowshare-install.sh +++ b/install/snowshare-install.sh @@ -21,12 +21,14 @@ fetch_and_deploy_gh_release "snowshare" "TuroYT/snowshare" "tarball" msg_info "Installing SnowShare" cd /opt/snowshare $STD npm ci +mkdir -p /opt/snowshare_data cat </opt/snowshare.env DATABASE_URL="postgresql://$PG_DB_USER:$PG_DB_PASS@localhost:5432/$PG_DB_NAME" NEXTAUTH_URL="http://localhost:3000" NEXTAUTH_SECRET="$(openssl rand -base64 32)" ALLOW_SIGNUP=true NODE_ENV=production +UPLOAD_DIR=/opt/snowshare_data EOF set -a source /opt/snowshare.env