Updates
This commit is contained in:
@@ -77,6 +77,28 @@ diagnostics and control surfaces, but Jarvis will not run inference on them.
|
|||||||
See [hardware compatibility](docs/hardware-compatibility.md) and
|
See [hardware compatibility](docs/hardware-compatibility.md) and
|
||||||
[troubleshooting](docs/troubleshooting.md).
|
[troubleshooting](docs/troubleshooting.md).
|
||||||
|
|
||||||
|
## Install with the web installer
|
||||||
|
|
||||||
|
The recommended Gitea installer downloads the source snapshot at the current
|
||||||
|
rolling ref, then runs the reviewed user-local installer. It does not require
|
||||||
|
root access and does not install into system directories.
|
||||||
|
|
||||||
|
~~~bash
|
||||||
|
curl -fsSL https://git.ssh.surf/snxraven/gnome-jarvis/raw/branch/main/packaging/web-installer.sh | bash -s -- --enable
|
||||||
|
~~~
|
||||||
|
|
||||||
|
Omit `--enable` to install without starting the service. Run the first-run
|
||||||
|
setup afterward:
|
||||||
|
|
||||||
|
~~~bash
|
||||||
|
bash ~/.local/share/jarvis-qvac/packaging/first-run.sh
|
||||||
|
gnome-extensions enable jarvis@qvac.local
|
||||||
|
~~~
|
||||||
|
|
||||||
|
The installer requires Node.js 22.17+, npm, curl, and tar. For a mirror or a
|
||||||
|
specific Gitea ref, set `JARVIS_SERVER`, `JARVIS_REPO`, or `JARVIS_REF` before
|
||||||
|
the command. The downloaded ref must contain the repository packaging files.
|
||||||
|
|
||||||
## Install from a checkout
|
## Install from a checkout
|
||||||
|
|
||||||
The harness is copied into vendor/agent-harness. It is not a symlink and the
|
The harness is copied into vendor/agent-harness. It is not a symlink and the
|
||||||
|
|||||||
@@ -6,6 +6,19 @@ Ubuntu GNOME 24.04 or newer, Node.js 22.17+, PipeWire/WirePlumber, GNOME
|
|||||||
desktop portals, GTK4/libadwaita, AT-SPI2, and a QVAC-visible GPU are required
|
desktop portals, GTK4/libadwaita, AT-SPI2, and a QVAC-visible GPU are required
|
||||||
for the full runtime. See [hardware compatibility](hardware-compatibility.md).
|
for the full runtime. See [hardware compatibility](hardware-compatibility.md).
|
||||||
|
|
||||||
|
## Web installation
|
||||||
|
|
||||||
|
For the current Gitea rolling build:
|
||||||
|
|
||||||
|
~~~bash
|
||||||
|
curl -fsSL https://git.ssh.surf/snxraven/gnome-jarvis/raw/branch/main/packaging/web-installer.sh | bash -s -- --enable
|
||||||
|
~~~
|
||||||
|
|
||||||
|
The installer downloads the source archive at the `rolling` ref and delegates
|
||||||
|
to the repository installer. Omit `--enable` to copy files without starting
|
||||||
|
the service. Pin a reviewed ref or use a mirror with `JARVIS_REF`,
|
||||||
|
`JARVIS_SERVER`, and `JARVIS_REPO`.
|
||||||
|
|
||||||
## Development start
|
## Development start
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
|
|||||||
@@ -14,7 +14,7 @@ flowchart LR
|
|||||||
CU[Computer vision] --> M
|
CU[Computer vision] --> M
|
||||||
J[Jobs: media / RAG] --> M
|
J[Jobs: media / RAG] --> M
|
||||||
M --> L{GPU admission}
|
M --> L{GPU admission}
|
||||||
L -->|fit| SDK[@qvac/sdk 0.19.1]
|
L -->|fit| SDK["QVAC SDK 0.19.1"]
|
||||||
L -->|no fit| E[truthful unavailable error]
|
L -->|no fit| E[truthful unavailable error]
|
||||||
SDK --> W[one QVAC worker]
|
SDK --> W[one QVAC worker]
|
||||||
```
|
```
|
||||||
|
|||||||
Executable
+62
@@ -0,0 +1,62 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
set -euo pipefail
|
||||||
|
|
||||||
|
# Supported invocation:
|
||||||
|
# curl -fsSL https://git.ssh.surf/snxraven/gnome-jarvis/raw/branch/main/packaging/web-installer.sh | bash -s -- --enable
|
||||||
|
# Override JARVIS_SERVER and JARVIS_REPO for a mirror or private deployment.
|
||||||
|
|
||||||
|
SERVER="${JARVIS_SERVER:-https://git.ssh.surf}"
|
||||||
|
REPO="${JARVIS_REPO:-snxraven/gnome-jarvis}"
|
||||||
|
REF="${JARVIS_REF:-rolling}"
|
||||||
|
TMP_DIR=""
|
||||||
|
|
||||||
|
usage() {
|
||||||
|
cat <<'EOF'
|
||||||
|
JARVIS-QVAC web installer
|
||||||
|
|
||||||
|
Usage:
|
||||||
|
curl -fsSL https://git.ssh.surf/snxraven/gnome-jarvis/raw/branch/main/packaging/web-installer.sh | bash -s -- [--enable]
|
||||||
|
|
||||||
|
Options:
|
||||||
|
--enable Enable and start the per-user jarvisd.service after install.
|
||||||
|
--help Show this help.
|
||||||
|
|
||||||
|
Environment:
|
||||||
|
JARVIS_SERVER Gitea server base URL.
|
||||||
|
JARVIS_REPO Gitea owner/repository, default snxraven/gnome-jarvis.
|
||||||
|
JARVIS_REF Gitea ref to install, default rolling.
|
||||||
|
EOF
|
||||||
|
}
|
||||||
|
|
||||||
|
for arg in "$@"; do
|
||||||
|
case "$arg" in
|
||||||
|
--enable) ;;
|
||||||
|
--help|-h) usage; exit 0 ;;
|
||||||
|
*) echo "Unknown option: $arg" >&2; usage >&2; exit 2 ;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
|
||||||
|
command -v curl >/dev/null || { echo "curl is required" >&2; exit 1; }
|
||||||
|
command -v tar >/dev/null || { echo "tar is required" >&2; exit 1; }
|
||||||
|
command -v npm >/dev/null || { echo "Node.js/npm 22.17+ is required" >&2; exit 1; }
|
||||||
|
node -e 'const [major,minor]=process.versions.node.split(".").map(Number); if (major < 22 || (major === 22 && minor < 17)) process.exit(1)' \
|
||||||
|
|| { echo "Node.js 22.17+ is required" >&2; exit 1; }
|
||||||
|
|
||||||
|
TMP_DIR="$(mktemp -d "${TMPDIR:-/tmp}/jarvis-web-install.XXXXXX")"
|
||||||
|
cleanup() { rm -rf "$TMP_DIR"; }
|
||||||
|
trap cleanup EXIT
|
||||||
|
|
||||||
|
ARCHIVE_URL="${SERVER%/}/${REPO}/archive/${REF}.tar.gz"
|
||||||
|
ARCHIVE="${TMP_DIR}/jarvis.tar.gz"
|
||||||
|
echo "Downloading JARVIS-QVAC source ref '${REF}' from ${SERVER}"
|
||||||
|
curl --fail --location --silent --show-error --retry 3 --proto '=https' --tlsv1.2 \
|
||||||
|
"$ARCHIVE_URL" -o "$ARCHIVE"
|
||||||
|
test -s "$ARCHIVE"
|
||||||
|
mkdir -p "$TMP_DIR/src"
|
||||||
|
tar -xzf "$ARCHIVE" -C "$TMP_DIR/src"
|
||||||
|
SOURCE_DIR="$(find "$TMP_DIR/src" -mindepth 1 -maxdepth 1 -type d -print -quit)"
|
||||||
|
test -n "$SOURCE_DIR" || { echo "Downloaded archive contained no source directory" >&2; exit 1; }
|
||||||
|
test -x "$SOURCE_DIR/packaging/install.sh" || { echo "Downloaded ref has no installer" >&2; exit 1; }
|
||||||
|
|
||||||
|
echo "Installing into the current user account"
|
||||||
|
exec bash "$SOURCE_DIR/packaging/install.sh" "$@"
|
||||||
Reference in New Issue
Block a user