Small Gotify daemon to receive messages and forward them as desktop notifications.
- Read Gotify messages, and forward them as standard desktop notification (works on Linux/MacOS, and likely other Unix flavors)
- Forward message priority
- Auto reconnect if server connection is lost (unreliable network, laptop suspend...), and get missed messages
- Automatically download, cache, and show app icons
- Fast and self contained binary (no runtime dependencies)
- Optional features:
- ignore messages below a given priority level
- delete messages once received
- run command on each received message
You need a Rust build environment for example from rustup.
cargo build --release
sudo install -Dm 755 -t /usr/local/bin target/release/gotify-desktop
If you want to add a Desktop Entry:
sudo install -Dm 644 desktop/gotify-desktop.desktop /usr/share/applications/gotify-desktop.desktop
curl https://raw.githubusercontent.com/gotify/logo/master/gotify-logo-small.svg -o /tmp/gotify-logo-small.svg
sudo install -Dm 644 /tmp/gotify-logo-small.svg /usr/share/icons/hicolor/scalable/apps/gotify-desktop.svg
# update icon cache (may differ depending on Linux distribution)
sudo gtk-update-icon-cache /usr/share/icons/hicolor/
Arch Linux users can install the gotify-desktop AUR package.
Edit ~/.config/gotify-desktop/config.toml
with your server URL and client token, and other settings:
[gotify]
# gotify server websocket URL, use wss:// prefix for TLS, or ws:// for unencrypted
url = "wss://SERVER_DOMAIN:SERVER_PORT"
# secret gotify token
token = "YOUR_SECRET_TOKEN"
# if you want to get the token from a password manager, or other external command,
# you can also use for example:
# token = { command = "secret-tool lookup Title 'Gotify token'" }
# optional, if true, deletes messages that have been handled, defaults to false
auto_delete = true
[notification]
# optional, ignores messages with priority lower than given value, defaults to 0
min_priority = 1
[action]
# optional, run the given command for each message, with the following environment variables set: GOTIFY_MSG_PRIORITY, GOTIFY_MSG_TITLE and GOTIFY_MSG_TEXT.
on_msg_command = "/usr/bin/beep"
Start gotify-desktop
in the background using your favorite init system, desktop environment or windows manager.