Do you need this?
No. Most people start on a Mac or PC with the launcher and Keep checking. That path stays the simplest.
Use a server only if you want alerts even when your laptop is closed or asleep. You rent the machine; GuruWatcher does not host it for you.
Why Hetzner?
Hetzner Cloud sells small Linux VMs that are usually only a few euros a month for the cheapest size — enough for GuruWatcher. Other clouds work the same way; this guide uses Hetzner because it’s a common cheap option. Check their site for current prices and locations.
Pick a region near you. You don’t need a big plan — the smallest shared CX / CAX (or current entry size) is fine for alert-only Keep checking.
What you’ll do (overview)
- Create a Hetzner Cloud account and add a payment method (their checkout, not ours).
- Create a server — Ubuntu LTS, smallest size, add your SSH key (safer than a password).
-
Log in with SSH from your computer
(
ssh [email protected]). - Install GuruWatcher from your purchase zip (or private repo if you have an invite) onto that server.
- Configure once — Discord alert link, newsletter email (or drop folder), then run the schedule so it keeps checking.
Install on the server (Linux)
After SSH, something like this (paths are yours — adjust):
sudo apt update && sudo apt install -y python3 python3-venv python3-pip unzip # Upload or download your GuruWatcher zip, then: unzip GuruWatcher-*.zip -d ~/GuruWatcher cd ~/GuruWatcher python3 -m venv .venv && source .venv/bin/activate pip install -e . export GURU_WATCHER_DATA="$HOME/gw-data" python3 -m guru_watcher init --data-dir "$GURU_WATCHER_DATA" # Put Discord webhook + email settings in $GURU_WATCHER_DATA/.env # (same ideas as the Control Panel — see Connect Discord / Connect email guides)
For Discord and email setup ideas, use the same guides as on a laptop:
Connect Discord ·
Connect email.
On a headless server you’ll edit .env (or copy a data folder you already
tested locally) instead of using the browser Control Panel.
Keep it running without Docker
Your zip includes optional Linux timer files under systemd/toolkit/.
They run ingest → reconcile → check on a schedule (same spine as Keep checking).
Edit the paths for your home directory, then:
sudo cp systemd/toolkit/guruwatcher-pipeline.service /etc/systemd/system/ sudo cp systemd/toolkit/guruwatcher-pipeline.timer /etc/systemd/system/ # Edit those unit files: set WorkingDirectory, User, GURU_WATCHER_DATA, venv python sudo systemctl daemon-reload sudo systemctl enable --now guruwatcher-pipeline.timer systemctl list-timers guruwatcher-pipeline.timer
Start in Safe / dry-run until you’re sure Discord and email look right. Live mode needs a valid Discord alert link and fails closed without one.
Safety & common sense
- Use an SSH key; turn off password login when you can.
- Treat your Discord alert link and email App password like passwords — never commit them to git or paste them into public chats.
- GuruWatcher stays alert-only — it never places trades.
- You still own newsletter rights; don’t redistribute paid Macro Charts (or similar) content.
- We don’t manage your Hetzner account or bill — cancel the server anytime in their console if you stop.
Next
Prefer the simple path? Keep checking on your computer · or back to all guides.