Skip to content

Commit 5a33b55

Browse files
committed
update README
1 parent 12c6a05 commit 5a33b55

File tree

4 files changed

+17
-9
lines changed

4 files changed

+17
-9
lines changed

README.md

Lines changed: 17 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -10,32 +10,40 @@ The bridge can receive messages in a certain format, which is nice if the notify
1010
This is where MWR comes in:
1111
It can receive any (JSON) content, optionally reformat it nicely (customizable!), and forward it to the webhooks bridge which will post it to a room for you. If you are running any software service, chances are it can notify you via webhooks!
1212

13-
![example screenshot](examples/github_screenshot.jpg)
13+
![example screenshot](examples/github_screenshot.png)
1414

1515
# Installation
1616

17+
### Requirements
18+
19+
- a server that is reachable over the internet (or at least your sending apps and your matrix server) 24/7 with open firewall, port forwarding, a fixed IP or dynamic DNS. It does not need to be your matrix server!
20+
21+
- use a reverse proxy like [nginx](https://nginx.com) to enable HTTP basic auth. Use HTTPS (e.g. [Let's Encrypt](https://letsencrypt.org)) to secure your credentials and data from anyone listening in. This is especially relevant for the profile management endpoints `/set`, `/delete/*`, `/profiles`, `/profile/*`, since otherwise anyone can edit your settings and send spam using your receiver. Any other endpoints should not require authentication since not all apps support it - your `whid` acts as authentication to post messages. There is an [nginx example](examples/example.nginx.conf) for your convenience.
22+
23+
Set the environment variable `URL_PREFIX` if your reverse proxy is serving the app somewhere else than `/`, e.g. in the following case `URL_PREFIX="/webhooks"`.
24+
25+
Since this app is built with [FastAPI](https://fastapi.tiangolo.com), it also hosts its own documentation at `docs`, e.g. https://example.org/webhooks/docs.
26+
27+
### With Python/pip
28+
1729
1. `git clone` this repo
1830
2. create a virtual environment
1931
3. `pip install -r requirements.txt`
2032
4. run with `uvicorn main:app`
33+
5. if your port 8000 is occupied, use `--port <number>`
34+
35+
### With Docker
2136

22-
Alternatively with docker:
2337
```shell
2438
docker build --tag matrix-webhook-receiver:latest .
2539
docker run --name matrix-webhook-receiver --mount "type=bind,src=$PWD/data,dst=/app/data" -p 8000:8000 matrix-webhook-receiver:latest
2640
```
2741

28-
Use a reverse proxy to enable https and/or http basic auth. This is especially relevant for the profile management endpoints `/set`, `/delete/*`, `/profiles`, `/profile/*`, since otherwise anyone can edit your settings and send spam using your receiver. Any other endpoints should not require authentication since not all apps support it - your `whid` acts as authentication to post messages. There is an [nginx example](examples/example.nginx.conf) for your convenience.
29-
30-
Set the environment variable `URL_PREFIX` if your reverse proxy is serving the app somewhere else than `/`, e.g. in the following case `URL_PREFIX="/webhooks"`.
31-
32-
Since this app is built with [FastAPI](https://fastapi.tiangolo.com), it also hosts its own documentation at `docs`, e.g. https://example.org/webhooks/docs.
33-
3442
# Usage
3543

3644
## Profile Setup
3745

38-
To use this app, you need to create a profile first. An admin GUI is included for easy access: if your Matrix-Webhook-Receiver is reachable at https://example.org/webhooks/ then the admin GUI is at https://example.org/webhooks/profiles.
46+
To use this app, you need to create a profile first. An admin GUI ([screenshot](examples/GUI_screenshot.png)) is included for easy access: if your Matrix-Webhook-Receiver is reachable at https://example.org/webhooks/ then the admin GUI is at https://example.org/webhooks/profiles.
3947

4048
Choose an existing profile from the list at the top or create a new one. Don't forget to save and test after editing.
4149

examples/GUI_screenshot.png

375 KB
Loading

examples/github_screenshot.jpg

-21.3 KB
Binary file not shown.

examples/github_screenshot.png

23 KB
Loading

0 commit comments

Comments
 (0)