Quickstart - Set Up Server Update Notifications in 5 Minutes
This guide takes you from zero to automated update notifications in four steps. The entire process takes about five minutes.
Prerequisites
- A Linux or macOS machine with internet access.
- Credentials for at least one notification channel (e.g., a Slack incoming webhook URL, a Telegram bot token, or an SMTP server).
curlinstalled (present by default on most systems).
Step 1: Install
Run the one-line installer. It detects your OS and architecture, downloads the latest release, and installs the binary to /usr/local/bin.
curl -sSL https://raw.githubusercontent.com/mahype/update-watcher/main/scripts/install.sh | bashVerify the installation:
update-watcher versionFor alternative installation methods, including manual download and building from source, see the Installation page.
Step 2: Configure with the Setup Wizard
Launch the interactive setup wizard:
update-watcher setupThe wizard presents a menu-driven interface that:
- Auto-detects installed package managers on your system (e.g., APT on Debian/Ubuntu, DNF on Fedora, Homebrew on macOS).
- Guides you through enabling watchers for the detected package managers.
- Walks you through configuring at least one notification channel (Slack, Discord, Email, Telegram, etc.).
- Saves the configuration to the appropriate config file.
=== update-watcher setup ===
Current configuration:
Hostname: web-prod-01
Watchers: APT, Docker
Notifiers: slack configured
Cron: not configured
What would you like to do?
> Manage Watchers (APT, Docker)
> Notifications (slack configured)
> Settings (hostname: web-prod-01)
> Cron Job (not configured)
> Run Test Check (dry-run)
> Save & ExitFor a detailed walkthrough of the wizard and manual YAML configuration, see First Run.
Step 3: Test Run
Run a check without sending notifications to verify everything works:
update-watcher run --notify=falseThis executes all configured watchers and prints the results to the terminal. You should see output listing any available updates for each enabled checker. If a checker fails (for example, because a package manager is not installed), the output will indicate the error.
Once the dry run looks correct, run with notifications enabled to confirm delivery:
update-watcher runCheck your notification channel to verify the message arrived.
Step 4: Schedule with Cron
Set up a daily cron job so Update-Watcher runs automatically. The built-in command creates a cron entry for the current user:
update-watcher install-cronupdate-watcher install-cron --time 09:00To verify the cron job was created:
crontab -lYou should see a line similar to:
0 7 * * * /usr/local/bin/update-watcher run --quietThat is it. Update-Watcher will now check for updates daily and notify you through your configured channels.
What Happens Next
- Updates found: You receive a notification listing all available updates, grouped by package manager. Security updates are highlighted.
- No updates found: By default (
send_policy: "only-on-updates"), no notification is sent. Change this to"always"in the configuration if you want daily confirmation messages. - Errors: If a checker fails, the exit code and log output will indicate what went wrong. Use
--verbosefor detailed debug output.
Next Steps
- Installation – All installation methods and platform details.
- First Run – Detailed walkthrough of the wizard and manual YAML configuration.
- Configuration – Full configuration reference including environment variables and security.
- Server Setup – Production-ready setup with a dedicated system user, proper permissions, and sudoers configuration.