Argus
Argus is a lightweight monitor to notify of new software releases via Gotify/Slack/other messages and/or WebHooks.
Install / Use
/learn @release-argus/ArgusREADME
Keeping an eye on releases.
</div>Argus will query websites at a user defined interval for new software releases and then trigger Gotify/Slack/Other notification(s) and/or WebHook(s) when one has been found. For example, you could set it to monitor the Argus repo (release-argus/argus). This will query the GitHub API and track the "tag_name" variable. When this variable changes from what it was on a previous query, a GitHub-style WebHook could be sent that triggers something (like AWX) to update Argus on your server.
Table of Contents
Demo
A demo of Argus can be seen on our website here.
Command-line arguments
$ argus -h
Usage of /usr/local/bin/argus:
-config.check
Print the fully-parsed config.
-config.file string
Argus configuration file path. (env_var=ARGUS_CONFIG_FILE) (default "config.yml")
-data.database-file string
Database file path. (env_var=ARGUS_DATA_DATABASE_FILE) (default "data/argus.db")
-log.level string
ERROR, WARN, INFO, VERBOSE or DEBUG. (env_var=ARGUS_LOG_LEVEL) (default "INFO")
-log.timestamps
Enable timestamps in CLI output. (env_var=ARGUS_LOG_TIMESTAMPS)
-test.commands commands
Put the name of the Service to test the commands of.
-test.notify string
Put the name of the Notify service to send a test message.
-test.service string
Put the name of the Service to test the version query.
-web.basic-auth.password string
Password for basic auth. (env_var=ARGUS_WEB_BASIC_AUTH_PASSWORD)
-web.basic-auth.username string
Username for basic auth. (env_var=ARGUS_WEB_BASIC_AUTH_USERNAME)
-web.cert-file string
HTTPS certificate file path. (env_var=ARGUS_WEB_CERT_FILE)
-web.listen-host string
IP address to listen on for UI, API, and telemetry. (env_var=ARGUS_WEB_LISTEN_HOST) (default "0.0.0.0")
-web.listen-port string
Port to listen on for UI, API, and telemetry. (env_var=ARGUS_WEB_LISTEN_PORT) (default "8080")
-web.pkey-file string
HTTPS private key file path. (env_var=ARGUS_WEB_PKEY_FILE)
-web.route-prefix string
Prefix for web endpoints. (env_var=ARGUS_WEB_ROUTE_PREFIX) (default "/")
Building from source
Prerequisites
The backend of Argus is built with Go, and the frontend with React. The React frontend is built and then embedded into the Go binary so that those web files can be served.
Go changes
To see the changes you've made by modifying any of the .go files, you must compile Argus. Run make build the first time to ensure the web components are available locally. Any future builds that don't need the web-ui to be rebuilt can be done with make go-build (faster than make build). (Running either of these in the root dir will produce an argus binary)
React changes
To see the changes after modifying anything in web/ui/react-app, you must recompile both the Go backend and the React frontend. This can be done by running make build. (Running this in the root dir will produce the argus binary)
Getting started
To get started with Argus, simply download the binary from the releases page, and set up the config for that binary.
For further help, check out the Getting Started page on our website.
Config formatting
The config can be broken down into 5 key areas. (Further help)
- defaults - This is broken down into areas with defaults for services, notify and webhooks.
- settings - Settings for the Argus server.
- service - A dictionary mapping of all the services to monitor as well as what to notify when a new release is found.
- notify - A dictionary mapping of targets for Notify messages.
- webhook - A dictionary mapping of targets for WebHooks.
Related Skills
bluebubbles
343.1kUse when you need to send or manage iMessages via BlueBubbles (recommended iMessage integration). Calls go through the generic message tool with channel="bluebubbles".
node-connect
343.1kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
slack
343.1kUse when you need to control Slack from OpenClaw via the slack tool, including reacting to messages or pinning/unpinning items in Slack channels or DMs.
xurl
343.1kA CLI tool for making authenticated requests to the X (Twitter) API. Use this skill when you need to post tweets, reply, quote, search, read posts, manage followers, send DMs, upload media, or interact with any X API v2 endpoint.
