diff --git a/docs/develop.md b/docs/develop.md index 0fbad7d..4079339 100644 --- a/docs/develop.md +++ b/docs/develop.md @@ -162,13 +162,14 @@ To build only the `ntfy` binary **without the web app or documentation**, use th ``` shell $ make -Build server & client (not release version): - make cli - Build server & client (all architectures) - make cli-linux-amd64 - Build server & client (Linux, amd64 only) - make cli-linux-armv6 - Build server & client (Linux, armv6 only) - make cli-linux-armv7 - Build server & client (Linux, armv7 only) - make cli-linux-arm64 - Build server & client (Linux, arm64 only) - make cli-windows-amd64 - Build client (Windows, amd64 only) +Build server & client (using GoReleaser, not release version): + make cli - Build server & client (all architectures) + make cli-linux-amd64 - Build server & client (Linux, amd64 only) + make cli-linux-armv6 - Build server & client (Linux, armv6 only) + make cli-linux-armv7 - Build server & client (Linux, armv7 only) + make cli-linux-arm64 - Build server & client (Linux, arm64 only) + make cli-windows-amd64 - Build client (Windows, amd64 only) + make cli-darwin-all - Build client (macOS, arm64+amd64 universal binary) ``` So if you're on an amd64/x86_64-based machine, you may just want to run `make cli-linux-amd64` during testing. On a modern @@ -199,8 +200,10 @@ server/server.go:85:13: pattern docs: no matching files found This is because we use `go:embed` to embed the documentation and web app, so the Go code expects files to be present at `server/docs` and `server/site`. If they are not, you'll see the above error. The `cli-deps-static-sites` -target creates dummy files that ensures that you'll be able to build. +target creates dummy files that ensure that you'll be able to build. +While not officially supported (or released), you can build and run the server **on macOS** as well. Simply run +`make cli-darwin-server` to build a binary, or `go run main.go serve` (see above) to run it. ### Build the web app The sources for the web app live in `web/`. As long as you have `npm` installed (see above), building the web app diff --git a/docs/examples.md b/docs/examples.md index ff2bfde..abffc66 100644 --- a/docs/examples.md +++ b/docs/examples.md @@ -4,6 +4,11 @@ There are a million ways to use ntfy, but here are some inspirations. I try to c examples on GitHub, so be sure to check those out, too. +!!! info + Many of these examples were contributed by ntfy users. If you have other examples of how you use ntfy, please + [create a pull request](https://github.com/binwiederhier/ntfy/pulls), and I'll happily include it. Also note, that + I cannot guarantee that all of these examples are functional. Many of them I have not tried myself. + ## A long process is done: backups, copying data, pipelines, ... I started adding notifications pretty much all of my scripts. Typically, I just chain the curl call directly to the command I'm running. The following example will either send Laptop backup succeeded @@ -98,7 +103,8 @@ One of my co-workers uses the following Ansible task to let him know when things ``` ## Watchtower notifications (shoutrrr) -You can use `shoutrrr` generic webhook support to send watchtower notifications to your ntfy topic. +You can use [shoutrrr](https://github.com/containrrr/shoutrrr) generic webhook support to send +[Watchtower](https://github.com/containrrr/watchtower/) notifications to your ntfy topic. Example docker-compose.yml: ```yml @@ -122,7 +128,6 @@ GitHub have been hopeless. In case it ever becomes available, I want to know imm ``` cron # Check github/ntfy user */6 * * * * if curl -s https://api.github.com/users/ntfy | grep "Not Found"; then curl -d "github.com/ntfy is available" -H "Tags: tada" -H "Prio: high" ntfy.sh/my-alerts; fi -~ ``` ## Download notifications (Sonarr, Radarr, Lidarr, Readarr, Prowlarr, SABnzbd) @@ -132,11 +137,10 @@ Some simple bash scripts to achieve this are kindly provided in [nickexyz's repo ## Node-RED You can use the HTTP request node to send messages with [Node-RED](https://nodered.org), some examples: -
Example: Send a message (click to expand) -``` +``` json [ { "id": "c956e688cc74ad8e", @@ -225,7 +229,7 @@ You can use the HTTP request node to send messages with [Node-RED](https://noder
Example: Send a picture (click to expand) -``` +``` json [ { "id": "d135a13eadeb9d6d", @@ -341,8 +345,8 @@ You can use the HTTP request node to send messages with [Node-RED](https://noder ## Gatus service health check -An example for a custom alert with Gatus -``` +An example for a custom alert with [Gatus](https://github.com/TwiN/gatus): +``` yaml alerting: custom: url: "https://ntfy.sh" @@ -368,8 +372,10 @@ alerting: ``` ## Jellyseerr/Overseerr webhook -Here is an example for jellyseerr/overseerr webhook json payload. Remember to change the `https://requests.example.com` to your Jellyseerr/Overseerr url. -``` +Here is an example for [jellyseerr](https://github.com/Fallenbagel/jellyseerr)/[overseerr](https://overseerr.dev/) webhook +JSON payload. Remember to change the `https://requests.example.com` to your jellyseerr/overseerr URL. + +``` json { "topic": "requests", "title": "{{event}}", diff --git a/docs/install.md b/docs/install.md index f284aee..b7f26bb 100644 --- a/docs/install.md +++ b/docs/install.md @@ -26,37 +26,37 @@ deb/rpm packages. === "x86_64/amd64" ```bash - wget https://github.com/binwiederhier/ntfy/releases/download/v1.22.0/ntfy_1.22.0_linux_x86_64.tar.gz - tar zxvf ntfy_1.22.0_linux_x86_64.tar.gz - sudo cp -a ntfy_1.22.0_linux_x86_64/ntfy /usr/bin/ntfy - sudo mkdir /etc/ntfy && sudo cp ntfy_1.22.0_linux_x86_64/{client,server}/*.yml /etc/ntfy + wget https://github.com/binwiederhier/ntfy/releases/download/v1.23.0/ntfy_1.23.0_linux_x86_64.tar.gz + tar zxvf ntfy_1.23.0_linux_x86_64.tar.gz + sudo cp -a ntfy_1.23.0_linux_x86_64/ntfy /usr/bin/ntfy + sudo mkdir /etc/ntfy && sudo cp ntfy_1.23.0_linux_x86_64/{client,server}/*.yml /etc/ntfy sudo ntfy serve ``` === "armv6" ```bash - wget https://github.com/binwiederhier/ntfy/releases/download/v1.22.0/ntfy_1.22.0_linux_armv6.tar.gz - tar zxvf ntfy_1.22.0_linux_armv6.tar.gz - sudo cp -a ntfy_1.22.0_linux_armv6/ntfy /usr/bin/ntfy - sudo mkdir /etc/ntfy && sudo cp ntfy_1.22.0_linux_armv6/{client,server}/*.yml /etc/ntfy + wget https://github.com/binwiederhier/ntfy/releases/download/v1.23.0/ntfy_1.23.0_linux_armv6.tar.gz + tar zxvf ntfy_1.23.0_linux_armv6.tar.gz + sudo cp -a ntfy_1.23.0_linux_armv6/ntfy /usr/bin/ntfy + sudo mkdir /etc/ntfy && sudo cp ntfy_1.23.0_linux_armv6/{client,server}/*.yml /etc/ntfy sudo ntfy serve ``` === "armv7/armhf" ```bash - wget https://github.com/binwiederhier/ntfy/releases/download/v1.22.0/ntfy_1.22.0_linux_armv7.tar.gz - tar zxvf ntfy_1.22.0_linux_armv7.tar.gz - sudo cp -a ntfy_1.22.0_linux_armv7/ntfy /usr/bin/ntfy - sudo mkdir /etc/ntfy && sudo cp ntfy_1.22.0_linux_armv7/{client,server}/*.yml /etc/ntfy + wget https://github.com/binwiederhier/ntfy/releases/download/v1.23.0/ntfy_1.23.0_linux_armv7.tar.gz + tar zxvf ntfy_1.23.0_linux_armv7.tar.gz + sudo cp -a ntfy_1.23.0_linux_armv7/ntfy /usr/bin/ntfy + sudo mkdir /etc/ntfy && sudo cp ntfy_1.23.0_linux_armv7/{client,server}/*.yml /etc/ntfy sudo ntfy serve ``` === "arm64" ```bash - wget https://github.com/binwiederhier/ntfy/releases/download/v1.22.0/ntfy_1.22.0_linux_arm64.tar.gz - tar zxvf ntfy_1.22.0_linux_arm64.tar.gz - sudo cp -a ntfy_1.22.0_linux_arm64/ntfy /usr/bin/ntfy - sudo mkdir /etc/ntfy && sudo cp ntfy_1.22.0_linux_arm64/{client,server}/*.yml /etc/ntfy + wget https://github.com/binwiederhier/ntfy/releases/download/v1.23.0/ntfy_1.23.0_linux_arm64.tar.gz + tar zxvf ntfy_1.23.0_linux_arm64.tar.gz + sudo cp -a ntfy_1.23.0_linux_arm64/ntfy /usr/bin/ntfy + sudo mkdir /etc/ntfy && sudo cp ntfy_1.23.0_linux_arm64/{client,server}/*.yml /etc/ntfy sudo ntfy serve ``` @@ -103,7 +103,7 @@ Manually installing the .deb file: === "x86_64/amd64" ```bash - wget https://github.com/binwiederhier/ntfy/releases/download/v1.22.0/ntfy_1.22.0_linux_amd64.deb + wget https://github.com/binwiederhier/ntfy/releases/download/v1.23.0/ntfy_1.23.0_linux_amd64.deb sudo dpkg -i ntfy_*.deb sudo systemctl enable ntfy sudo systemctl start ntfy @@ -111,7 +111,7 @@ Manually installing the .deb file: === "armv6" ```bash - wget https://github.com/binwiederhier/ntfy/releases/download/v1.22.0/ntfy_1.22.0_linux_armv6.deb + wget https://github.com/binwiederhier/ntfy/releases/download/v1.23.0/ntfy_1.23.0_linux_armv6.deb sudo dpkg -i ntfy_*.deb sudo systemctl enable ntfy sudo systemctl start ntfy @@ -119,7 +119,7 @@ Manually installing the .deb file: === "armv7/armhf" ```bash - wget https://github.com/binwiederhier/ntfy/releases/download/v1.22.0/ntfy_1.22.0_linux_armv7.deb + wget https://github.com/binwiederhier/ntfy/releases/download/v1.23.0/ntfy_1.23.0_linux_armv7.deb sudo dpkg -i ntfy_*.deb sudo systemctl enable ntfy sudo systemctl start ntfy @@ -127,7 +127,7 @@ Manually installing the .deb file: === "arm64" ```bash - wget https://github.com/binwiederhier/ntfy/releases/download/v1.22.0/ntfy_1.22.0_linux_arm64.deb + wget https://github.com/binwiederhier/ntfy/releases/download/v1.23.0/ntfy_1.23.0_linux_arm64.deb sudo dpkg -i ntfy_*.deb sudo systemctl enable ntfy sudo systemctl start ntfy @@ -137,28 +137,28 @@ Manually installing the .deb file: === "x86_64/amd64" ```bash - sudo rpm -ivh https://github.com/binwiederhier/ntfy/releases/download/v1.22.0/ntfy_1.22.0_linux_amd64.rpm + sudo rpm -ivh https://github.com/binwiederhier/ntfy/releases/download/v1.23.0/ntfy_1.23.0_linux_amd64.rpm sudo systemctl enable ntfy sudo systemctl start ntfy ``` === "armv6" ```bash - sudo rpm -ivh https://github.com/binwiederhier/ntfy/releases/download/v1.22.0/ntfy_1.22.0_linux_armv6.rpm + sudo rpm -ivh https://github.com/binwiederhier/ntfy/releases/download/v1.23.0/ntfy_1.23.0_linux_armv6.rpm sudo systemctl enable ntfy sudo systemctl start ntfy ``` === "armv7/armhf" ```bash - sudo rpm -ivh https://github.com/binwiederhier/ntfy/releases/download/v1.22.0/ntfy_1.22.0_linux_armv7.rpm + sudo rpm -ivh https://github.com/binwiederhier/ntfy/releases/download/v1.23.0/ntfy_1.23.0_linux_armv7.rpm sudo systemctl enable ntfy sudo systemctl start ntfy ``` === "arm64" ```bash - sudo rpm -ivh https://github.com/binwiederhier/ntfy/releases/download/v1.22.0/ntfy_1.22.0_linux_arm64.rpm + sudo rpm -ivh https://github.com/binwiederhier/ntfy/releases/download/v1.23.0/ntfy_1.23.0_linux_arm64.rpm sudo systemctl enable ntfy sudo systemctl start ntfy ``` @@ -184,21 +184,23 @@ If run as `root`, ntfy will look for its config at `/etc/ntfy/client.yml`. For a `~/Library/Application Support/ntfy/client.yml` (sample included in the tarball). ```bash -curl https://github.com/binwiederhier/ntfy/releases/download/v1.22.0/ntfy_v1.22.0_macOS_all.tar.gz > ntfy_v1.22.0_macOS_all.tar.gz -tar zxvf ntfy_v1.22.0_macOS_all.tar.gz -sudo cp -a ntfy_v1.22.0_macOS_all/ntfy /usr/local/bin/ntfy +curl https://github.com/binwiederhier/ntfy/releases/download/v1.23.0/ntfy_v1.23.0_macOS_all.tar.gz > ntfy_v1.23.0_macOS_all.tar.gz +tar zxvf ntfy_v1.23.0_macOS_all.tar.gz +sudo cp -a ntfy_v1.23.0_macOS_all/ntfy /usr/local/bin/ntfy mkdir ~/Library/Application\ Support/ntfy -cp ntfy_v1.22.0_macOS_all/client/client.yml ~/Library/Application\ Support/ntfy/client.yml +cp ntfy_v1.23.0_macOS_all/client/client.yml ~/Library/Application\ Support/ntfy/client.yml ntfy --help ``` !!! info If there is a desire to install ntfy via [Homebrew](https://brew.sh/), please create a - [GitHub issue](https://github.com/binwiederhier/ntfy/issues) to let me know. + [GitHub issue](https://github.com/binwiederhier/ntfy/issues) to let me know. Also, you can build and run the + ntfy server on macOS as well, though I don't officially support that. Check out the [build instructions](develop.md) + for details. ## Windows The [ntfy CLI](subscribe/cli.md) (`ntfy publish` and `ntfy subscribe` only) is supported on Windows as well. -To install, please [download the latest ZIP](https://github.com/binwiederhier/ntfy/releases/download/v1.22.0/ntfy_v1.22.0-next_windows_x86_64.zip), +To install, please [download the latest ZIP](https://github.com/binwiederhier/ntfy/releases/download/v1.23.0/ntfy_v1.23.0-next_windows_x86_64.zip), extract it and place the `ntfy.exe` binary somewhere in your `%Path%`. The default path for the client config file is at `%AppData%\ntfy\client.yml` (not created automatically, sample in the ZIP file). diff --git a/docs/releases.md b/docs/releases.md index 9e99335..1134544 100644 --- a/docs/releases.md +++ b/docs/releases.md @@ -2,15 +2,14 @@ Binaries for all releases can be found on the GitHub releases pages for the [ntfy server](https://github.com/binwiederhier/ntfy/releases) and the [ntfy Android app](https://github.com/binwiederhier/ntfy-android/releases). - +Thank you to the many translators, who helped translate the new strings so quickly. I am humbled and amazed by your help. ## ntfy Android app v1.13.0 Released May 11, 2022