Skip to content

Signal Integration Help

Mark Adkins edited this page Dec 10, 2019 · 6 revisions

If you use Signal, you can have UpKeep message you via the Signal App when something goes wrong. UpKeep can interface with Signal-CLI out of the box.

Install Signal-CLI separately

You must first install Signal-CLI System-Wide. The instructions in the README are for Linux but should work for any Unix-based operating system (I got it working on macOS just fine). I recommend creating a second Signal account for your monitoring system to send from. You can use services like Google Voice to get another phone number to register the account with.

Linking several devices to one Signal account

If you're like me and do development on my laptop before pushing code to the machine that will be running it, you may want to setup Signal-CLI on multiple machines using the same account. This can be achieved with Signal-CLI by linking other devices (or "provisioning"). You may run into an issue during this process, where the new device being linked fails with this error: java.security.InvalidKeyException: Illegal key size. This happened to me on a macOS machine when I was building UpKeep. There is a slight modification you'll need to make to your Java installation to get this working: [https://github.com/AsamK/signal-cli/issues/250](java.security.InvalidKeyException: Illegal key size)

Enabling the Signal Integration in UpKeep

Once you have Signal-CLI up and running system-wide, enabling the feature in UpKeep is quite simple.

  1. Make sure you've renamed .env-sample to .env
  2. In .env set the Signal account phone numbers you wish to send from, and receive to. Don't forget to include the country code (example: +15555555555). You will receive an error if the from number doesn't match the number registered in Signal-CLI.
  3. Change the variable signal at the top of app.js from let signal = false; to let signal = true;
Clone this wiki locally