Quick start
Install Argus on a supported VPS, onboard one controlled public Web watch, and verify the first record query.
Outcome
You will have a signed Argus release running on one VPS, collecting the public Argus site as a controlled Web target, and returning stored records through the authenticated API. Argus stores canonical records and revisions; it does not need an LLM for collection or querying.
Prerequisites
Use a fresh VPS running Ubuntu 22.04 or 24.04, or Debian 12 or 13, on an
AMD64 or ARM64 host. You need a shell account that can use sudo, outbound
HTTPS access, and at least 5 GiB free disk space. Docker Engine with the Docker
Compose plugin may already be installed and usable by your account; otherwise
the installer can install it after an explicit approval.
Do not run this procedure on a workstation or an existing Argus instance. The
installer writes /usr/local/bin/argus; onboarding owns the instance under
/opt/argus.
Inspect and install the signed release
First download the small installer and inspect its non-mutating report. It shows the detected platform, signed manifest URL, target wrapper path, and whether Docker is usable; it does not download or change files in inspection mode.
curl -fsSLo /tmp/argus-install.sh https://argus.gpsxtre.me/install.sh
ARGUS_INSTALL_INSPECT=1 sh /tmp/argus-install.shFor the normal interactive path, install with the public one-command installer:
curl -fsSL https://argus.gpsxtre.me/install.sh | shThe installer verifies the embedded Ed25519 signature for the release manifest
before it accepts the wrapper URL and SHA-256 hash, then verifies the downloaded
wrapper hash before replacing /usr/local/bin/argus.
If Docker Engine and Compose are already usable, the installer continues. If
they are absent, it asks from an interactive terminal before installing them
from Docker's official apt repository. A non-interactive approved install must
use the downloaded script and set ARGUS_INSTALL_DOCKER=1; setting it to 0
instead makes a missing Docker installation fail safely.
ARGUS_INSTALL_DOCKER=1 sh /tmp/argus-install.shOnboard one controlled Web watch
Open Argus:
argusChoose Set up Argus. The home menu is the recommended way to use Argus
from a terminal; it also gives you status, readable logs, configuration,
diagnostics, updates, service controls, and secrets without memorizing
commands. argus onboard starts the same setup directly.
Choose SQLite for this single-host start, accept port 8788, select Web,
and provide a watch ID such as argus-homepage with this controlled URL:
https://argus.gpsxtre.me/Leave feeds and Web search queries empty. SearXNG is asked only after at least one Web search query; choose managed SearXNG for a query or supply an external endpoint. FxEmbed is asked only when X is enabled; running it privately on the same VPS is the recommended default. Telegram accepts public channel names only. Leave OpenRouter summaries disabled unless you intend to provide an OpenRouter API key. The CLI asks for the Argus API token through a hidden prompt and keeps it out of the versioned configuration.
Review the plan and confirm it. Onboarding renders the instance configuration, creates required managed services, verifies them, and writes secrets only to the owner-only instance secrets file.
Verify
Check the deployment and diagnostics in the human-readable view:
argus status
argus doctor
argus logs --tail 50
argus query latest-newsFor scripts and AI agents, add --json. That returns the stable versioned CLI
envelope; a healthy result has ok: true. Human logs are compact by default;
argus logs --raw shows the exact bounded service output.
The scheduler evaluates enabled watches every 30 seconds and workers poll for queued jobs every 5 seconds, so allow the configured five-minute schedule to run. To request an immediate run for the controlled watch, enter the token you created during onboarding into a shell variable, then call the authenticated endpoint from the VPS:
read -rsp "Argus API token: " ARGUS_API_TOKEN; export ARGUS_API_TOKEN; echo
curl -X POST -H "Authorization: Bearer $ARGUS_API_TOKEN" \
http://127.0.0.1:8788/v1/watches/argus-homepage/ingestAfter a worker completes the queued targets, query the stored Web records. The token stays in the shell variable rather than appearing in the command.
curl -H "Authorization: Bearer $ARGUS_API_TOKEN" \
"http://127.0.0.1:8788/v1/records?source=web&limit=20"
unset ARGUS_API_TOKENThe response contains items with each source URL, canonical record identity,
content hash, and ingestion timestamp. An empty result means the scheduled or
immediate job has not completed yet; inspect argus doctor before
changing the host.
Next step
Read core concepts to understand the stored objects, then use configuration to change versioned watches and operations for routine health and recovery work.