-
Notifications
You must be signed in to change notification settings - Fork 0
Getting Started
Stable (recommended): installs from main — the tested, working release.
curl -fsSL -H "Cache-Control: no-cache" https://raw.githubusercontent.com/N6LKA/AllStar-Herald/main/install.sh | sudo bashDevelopment (testing only): installs from develop — whatever's currently being worked on ahead of the next release.
⚠️ Warning:developmay contain incomplete, untested, or broken features at any given time. Only use this on a system where you can tolerate things breaking (or reinstall frommainto recover). Don't use it on a repeater or node you depend on for daily use.
curl -fsSL "https://github.com/N6LKA/AllStar-Herald/archive/refs/heads/develop.tar.gz" \
| tar -xzO AllStar-Herald-develop/install.sh \
| sudo bash -s -- --branch developThis tarball form is used instead of the raw GitHub URL because raw.githubusercontent.com is CDN-cached and can serve a stale install.sh for an extended period — the tarball download goes through GitHub's codeload service, which always returns the current commit.
- Installs
python3-yaml,sox, andlibsox-fmt-mp3if not already present - Installs Piper TTS 1.2.0 (binary + the default
en_US-amy-mediumvoice) into the shared/var/lib/piper-tts— more voices can be installed later from the web UI's Voices tab - Copies
herald.pyto/etc/asterisk/scripts/herald/ - Installs the
heraldmanagement command to/usr/local/bin/herald - Creates an example config in the same
/etc/asterisk/scripts/herald/directory (if no config exists) - Installs and enables the
heraldsystemd service, and starts it automatically - Installs the web UI to
/var/www/html/herald/— installsapache2+phpfirst if neither Allmon3 nor Supermon is already present, then installs a dedicated page directly into Allmon3's and/or Supermon's own directory (with a sidebar/footer link to it) for whichever is detected, and a standalone version athttp://<node-ip>/herald/with its own login, reachable either way
- Log into the web UI at
http://<node-ip>/herald/(shown at the end of the install output) — usernameadmin, passwordadmin— and do your initial setup from there (Node number, Tail Messages, etc.). Change the default password on the Global Settings tab under Login Settings before exposing this beyond your own LAN — see Standalone Web UI. Prefer editing the config file directly?sudo nano /etc/asterisk/scripts/herald/herald.conf— see Configuration Reference for every field - Check it's running:
herald status
curl -fsSL -H "Cache-Control: no-cache" https://raw.githubusercontent.com/N6LKA/AllStar-Herald/main/uninstall.sh | sudo bashBy default this removes the daemon, herald CLI, systemd service, web UI, sudoers rule, and the Allmon3/Supermon integration lines it added — while preserving your config, announcements, state, and Piper TTS install so a future reinstall picks up where you left off. To also remove those:
curl -fsSL -H "Cache-Control: no-cache" https://raw.githubusercontent.com/N6LKA/AllStar-Herald/main/uninstall.sh | sudo bash -s -- --purge-all(--purge-config and --purge-piper are available individually too.)
sudo systemctl start herald # Start the daemon
sudo systemctl stop herald # Stop the daemon
sudo systemctl restart herald # Restart the daemon
sudo systemctl status herald # Show service status
journalctl -u herald -f # Follow live log outputAn optional browser-based UI for managing everything Herald does. The shared UI and JSON API live at /var/www/html/herald/, but the actual entry points are installed inside Allmon3's and Supermon's own directories:
-
Allmon3:
install.shinstallsherald.htmldirectly into Allmon3's own web root (/usr/share/allmon3/) and appends a[Herald]entry to/etc/allmon3/menu.inipointing at it. The page loads Allmon3's realfunctions.js/index.jsunmodified — same header/sidebar chrome as any other Allmon3 page, gated on Allmon3's own login. -
Supermon (v7.4+ and v8+):
install.shinstallsherald.phpdirectly into Supermon's own directory (/var/www/html/supermon/) and adds a link at the bottom of the page after logging in. It includes Supermon's realsession.inc/header.inc/footer.incunmodified — same nav, login dialog, and session cookie Supermon itself uses. - If neither Allmon3 nor Supermon is detected at install time,
install.shinstallsapache2+phpon its own so the shared UI still has somewhere to run.
Tabs:
- How It Works — a plain-language overview of Tail Messages, Scheduled Announcements, and Time & Weather Announcements, useful for anyone new to the system or sharing access with others
- Tail Messages, Scheduled Announcements, Time & Weather — see their own pages
- Node ID Generator — see Node ID Generator
- Playback History — the last 200 plays (rotation, WX, scheduled, manual test) with timestamp, node, and play mode
- Global Settings — daemon status/enable-disable, version + update check/Updating Herald, voices (Voices & TTS Engines), and Backup & Restore
Both Tail Messages and Scheduled Announcements support adding announcements via typed text (with Piper voice selection) or by uploading an existing .wav/.mp3 file (auto-converted to 8kHz mono).
All mutations go through the same herald CLI used at the command line — the web UI never edits the YAML config directly. www-data is granted narrow, passwordless sudo access to run herald only (see /etc/sudoers.d/herald-web).