fix: install in current directory

This commit is contained in:
2026-08-30 12:53:22 +00:00
parent 252a3320df
commit ef605f8a2d
2 changed files with 7 additions and 3 deletions
+1 -1
View File
@@ -1,6 +1,6 @@
# XyMediaVault public installer # XyMediaVault public installer
Run `sudo bash install.sh` on a Linux host with Docker and Compose. The installer downloads `catalog-v1.json` and the public Generic Package assets over HTTPS, selects `linux-amd64` or `linux-arm64`, safely extracts the app archive, and stores TMM and Title archives in the local component directory. Run `curl -fsSL https://git.keeper.work/admin/xymediavault-releases/raw/branch/main/install.sh | sudo bash` from the directory where you want XyMediaVault installed. The default install directory is the command's current directory; use `--install-dir /absolute/path` to override it. The installer downloads `catalog-v1.json` and the public Generic Package assets over HTTPS, selects `linux-amd64` or `linux-arm64`, safely extracts the app archive, and stores TMM and Title archives in the local component directory.
The app archive must contain `bin/xymediavault`, `bin/xymedia-supervisor`, `web/dist`, and `release.json`. The installer rejects legacy app packages missing the supervisor and waits for the current public catalog entry containing this complete layout. The app archive must contain `bin/xymediavault`, `bin/xymedia-supervisor`, `web/dist`, and `release.json`. The installer rejects legacy app packages missing the supervisor and waits for the current public catalog entry containing this complete layout.
+6 -2
View File
@@ -4,7 +4,7 @@ set -euo pipefail
CATALOG_URL=${XYMEDIA_CATALOG_URL:-https://git.keeper.work/admin/xymediavault-releases/raw/branch/main/catalog-v1.json} CATALOG_URL=${XYMEDIA_CATALOG_URL:-https://git.keeper.work/admin/xymediavault-releases/raw/branch/main/catalog-v1.json}
RELEASE_BASE=${XYMEDIA_RELEASE_BASE:-https://git.keeper.work/admin/xymediavault-releases/raw/branch/main} RELEASE_BASE=${XYMEDIA_RELEASE_BASE:-https://git.keeper.work/admin/xymediavault-releases/raw/branch/main}
SCRIPT_DIR=$(cd -- "$(dirname -- "$0")" && pwd -P) SCRIPT_DIR=$(cd -- "$(dirname -- "$0")" && pwd -P)
INSTALL_DIR=/opt/xymediavault INSTALL_DIR=${XYMEDIA_INSTALL_DIR:-$PWD}
PG_HOST=postgres PG_HOST=postgres
PG_PORT=5432 PG_PORT=5432
PG_DB=xymedia PG_DB=xymedia
@@ -95,7 +95,11 @@ print(entry["version"] + "\t" + entry["asset_url"])
PY PY
} }
download_extract() { download_extract() {
local component=$1 version=$2 url=$3 target=$4 archive="$INSTALL_DIR/state/$component-$version.archive" local component=$1
local version=$2
local url=$3
local target=$4
local archive="$INSTALL_DIR/state/$component-$version.archive"
curl --fail --silent --show-error --location --proto '=https' --tlsv1.2 "$url" -o "$archive" curl --fail --silent --show-error --location --proto '=https' --tlsv1.2 "$url" -o "$archive"
local tarball="$archive.tar" local tarball="$archive.tar"
if [[ $url == *.tar.gz || $url == *.tgz ]]; then gzip -dc "$archive" >"$tarball"; else zstd -dc "$archive" >"$tarball"; fi if [[ $url == *.tar.gz || $url == *.tgz ]]; then gzip -dc "$archive" >"$tarball"; else zstd -dc "$archive" >"$tarball"; fi