dgtlmoon / dgtlmoon/changedetection.io
[feature] Support configuring external Apprise API server, disabling internal Apprise server
- Dominant language
- Python
- Stars
- 34.1k
- Forks
- 2k
- Avg merge
- 23h 38m
- Merged PRs (30d)
- 67
Description
**Version and OS**
v0.54.10 on linux/docker
**Is your feature request related to a problem? Please describe.**
Using Changedetection with an external/dedicated Apprise server is a bit challenging. When doing so, notification body need to be customised and service selection must be done on side of Apprise (contrary to what Changedetection UI seems to suggest under Settings > Notifications).
**Describe the solution you'd like**
Allow setting `APPRISE_SERVER` in an environment variable for Changedetection to `{protocol}://{host}:{port}` (e.g. `http://apprise:8000`).
If present:
* disable the internal Apprise server, since it's not needed
* post any notification requests to the specified Apprise API server
It would be a nice-to-have to, if `APPRISE_SERVER` is configured, allow sending stateful notifications by entering just a [Apprise service key](https://appriseit.com/api/usage/#stateful-notifications) in the Notification URL List, such as `/signal` - provided that the service has been configured over at the Apprise API server.
**Describe the use-case and give concrete real-world examples**
n/a
**Additional context**
See also #2102, #3705 and #4082.
Contributor guide
Research direction
Start by tracing the existing internal Apprise server setup and the notification request flow, then review issues #2102, #3705, and #4082 for related decisions. Done means an APPRISE_SERVER value can disable the internal server and route notifications to the configured external API, with the optional service-key behavior addressed or explicitly scoped.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- api, backend
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 48/100