First pass

This commit is contained in:
2025-05-31 21:03:25 -05:00
parent 54c9beef73
commit b31d824059
8 changed files with 505 additions and 2 deletions

View File

@ -1,3 +1,52 @@
# ntfy-freebsd-server
**From:** [](https://github.com/binwiederhier/ntfy)https://github.com/binwiederhier/ntfy
**![images/ntfy.png]**
# ntfy.sh | Send push notifications to your phone or desktop via PUT/POST
**ntfy** (pronounced "*notify*") is a simple HTTP-based <ins>pub-sub</ins> notification service. With ntfy, you can **send notifications to your phone or desktop via scripts** from any computer, **without having to sign up or pay any fees**. If you'd like to run your own instance of the service, you can easily do so since ntfy is open source.
You can access the free version of ntfy at **<ins>ntfy.sh</ins>**. There is also an <ins>open-source Android app</ins> available on <ins>Google Play</ins> or <ins>F-Droid</ins>, as well as an <ins>open source iOS app</ins> available on the <ins>App Store</ins>.
### **Why does this exist when there's already a FreeBSD sysutils/ntfy pkg/port?**
The FreeBSD ntfy client package doesn't have the server or web built-in. It's a basic client only. It's also on version 2.7.0 while the latest release is currently 2.11.0. This repo is to build a full install with client, server, and web running as a ntfy user with startup scripts and configs for client and server. 
I built ntfy server on FreeBSD manually and have been testing it. I decided if I was going to keep using it that I should formalize an install. 
### **Install FreeBSD prerequisites:**
`pkg install python311 py311-pip node20 npm-node20 go gmake`
### Build:
sudo sh ./install_ntfy_server.sh
### Configure:
Edit your server.yml in /usr/local/etc/ntfy/ to set your hostname, listening
IP/port, and any other desired settings.
The nfty server service runs as a unprivileged user and must use a port
higher than 1024. Use a webserver or reverse proxy in front of ntfy to
provide http/https access.
Copy index.html to your webserver docs directory (e.g.
https://ntfy.mydomain.com/docs/) to redirect to the online https://docs.ntfy.sh
when a user clicks on the documentation button. Alternatively, you can mirror
the online docs to your docs directory if you don't want to rely on theirs.
Use 'sysrc ntfy_enable="YES"' or add 'ntfy_enable="YES"' to your /etc/rc.conf
or /etc/rc.conf.d/ntfy manually to enable the service. Use 'service ntfy start'
to start the service.
**TODO**:
- Create uninstall script (or uninstall option in main script)
- Create dependency checks in install script and make more robust
- Create package (probably a tarball before a real FreeBSD pkg)
- Testing client and config. 
### License
The project is dual licensed under the \[Apache License 2.0\](LICENSE) and the \[GPLv2 License\](LICENSE.GPLv2).
**ntfy** is a simple HTTP-based <ins>pub-sub</ins> notification service. The FreeBSD port/package is only the client version so I've created this server repo.