- CSS 85%
- Go 11%
- Go Template 2.4%
- Makefile 1%
- JavaScript 0.6%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
| static | ||
| templates | ||
| .gitignore | ||
| .golangci.yml | ||
| go.mod | ||
| go.sum | ||
| LICENSE | ||
| main.go | ||
| main_test.go | ||
| Makefile | ||
| README.md | ||
| screenshot-dark.png | ||
| screenshot-light.png | ||
notifier
A web application to collect and display notifications from systems, services, and build pipelines. It exists as a self-hosted stepping-stone between dumb email alerts via AWS SNS and the quite excellent ntfy notification service.
This application should NOT be exposed directly to the internet as it lacks HTTPS support and does not have any access control restrictions. It should be placed as a reverse proxy backend behind a proper web server such as Caddy where you can apply HTTPS and appropriate request filters.
Sending an event
An event notification is an HTTP POST request that contains an event form parameter. You can even send a notification with curl.
curl --silent --show-error --fail-with-body \
--data-urlencode 'event=Deployed version v1.0.2' \
--data-urlencode $'description=Deployed tag: v1.0.2\nPrevious tag: v1.0.1\n' \
--data-urlencode 'category=Deployment' \
http://localhost:3000/events
You can use optional category and description form parameters to provide more context for your events when they are viewed in the UI.
Viewing events
When running locally, you can navigate to http://localhost:3000/events?reload=1 to see all collected events as a server-rendered HTML page.
Server configuration
Usage of ./target/notifier:
-addr string
Server listen address (default "127.0.0.1:3000")
-db string
Path to database file (default "notifier.db")
-json
Use JSON format for structured log output
-version
Show version and exit
Installation
Download latest stable release.
Or, build it yourself with go 1.27+
go install codeberg.org/tomcz/notifier@latest

