- PHP 91.8%
- Shell 4.5%
- JavaScript 3.6%
- Dockerfile 0.1%
| 3rdparty/jwt | ||
| appinfo | ||
| img | ||
| js | ||
| l10n | ||
| lib | ||
| reverse_proxy_examples | ||
| script | ||
| templates | ||
| .gitattributes | ||
| 3rd-Party.license | ||
| CHANGELOG.md | ||
| COPYING | ||
| OVERVIEW.md | ||
| README.md | ||
NextPush - Server App
UnifiedPush provider for Nextcloud - server application
Requirement
Your Nextcloud instance needs to have a Redis server installed and listening for connections.
Installation
-
Install this Nextcloud application from the store: https://apps.nextcloud.com/apps/uppush .
-
Configure the reverse-proxy. (See examples of reverse-proxy conf)
a. The reverse-proxy need to be configured without buffering :
Nginx: - Server Block
proxy_buffering off;Apache: (php configuration): - VirtalHost Block
<Proxy "fcgi://localhost/" disablereuse=on flushpackets=on max=10> </Proxy>Traefik:
By default Traefik does not buffer. Please check and make sure you have not enabled buffering for the entryPoint you are using for NextPush. https://doc.traefik.io/traefik/middlewares/http/buffering/
Caddy:
By default Caddy does not buffer NextPush requests (SSE events).
b. The reverse-proxy need to be configured for longer timeout, than keepalive configured in the UnifiedPush Provider administration settings (default=50s):
Nginx: Default=60s - Server Block
proxy_connect_timeout 10m; proxy_send_timeout 10m; proxy_read_timeout 10m;Apache: Default=TimeOut=60s - VirtalHost Block
ProxyTimeout 600Traefik: Default=180s - Entrypoints
transport: respondingTimeouts: readTimeout: 10m writeTimeout: 10m idleTimeout: 10mCaddy: Default=no timeout - transport
transport http|fastcgi { read_timeout 10m write_timeout 10m }
Gateways
The app can be used as a personal matrix gateway. It requires to pass requests to the path /_matrix/push/v1/notify to /index.php/apps/uppush/gateway/matrix.
See examples of reverse-proxy conf
Nginx: - Server Block
location /_matrix/push/v1/notify {
proxy_pass http://127.0.0.1:5000/index.php/apps/uppush/gateway/matrix;
}
Apache: - VirtalHost Block
ProxyPass "/_matrix/push/v1/notify" http://127.0.0.1:5000/index.php/apps/uppush/gateway/matrix
Traefik: - Using the middlewares in the dynamic file configuration (cf. example)
Caddy: - Either use the rewrite directive when used as a reverse proxy, or use a vars + env REQUEST_URI when used with php_fastcgi.
Development
Clone the repository to nextcloud/apps/uppush instead of installing from Nextcloud store.
git clone https://codeberg.org/NextPush/uppush.git nextcloud/apps/uppush
Credit
This application has been inspired by Nextcloud Push Notifier
Donations
If you wish to support the project: https://liberapay.com/S1m/