-
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/ASL3-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/ASL3-Herald/archive/refs/heads/develop.tar.gz" \
| tar -xzO ASL3-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
asl3-herald.pyto/usr/local/bin/asl3-herald/ - Installs the
heraldmanagement command to/usr/local/bin/herald - Creates
/etc/asterisk/scripts/asl3-herald/with an example config (if no config exists) - Installs and enables the
asl3-heraldsystemd service, and starts it automatically - Installs the web UI to
/var/www/html/asl3-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
- Edit the config:
sudo nano /etc/asterisk/scripts/asl3-herald/asl3-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/ASL3-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/ASL3-Herald/main/uninstall.sh | sudo bash -s -- --purge-all(--purge-config and --purge-piper are available individually too.)
sudo systemctl start asl3-herald # Start the daemon
sudo systemctl stop asl3-herald # Stop the daemon
sudo systemctl restart asl3-herald # Restart the daemon
sudo systemctl status asl3-herald # Show service status
journalctl -u asl3-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/asl3-herald/, but the actual entry points are installed inside Allmon3's and Supermon's own directories:
-
Allmon3:
install.shinstallsasl3-herald.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.shinstallsasl3-herald.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/asl3-herald-web).