1
0
Fork
You've already forked uppush
0
forked from NextPush/uppush
Server application
  • PHP 91.8%
  • Shell 4.5%
  • JavaScript 3.6%
  • Dockerfile 0.1%
2026年04月10日 19:34:11 +02:00
3rdparty/jwt Change JWT namespace to avoid conflicts 2024年12月05日 16:42:18 +00:00
appinfo 2.4.0 2026年02月19日 17:14:30 +01:00
img Fix settings icon 2022年06月13日 23:57:50 +02:00
js Convert date fields to datetime type and reduce ids length to 32 2024年12月13日 09:35:55 +01:00
l10n Translated using Weblate (Russian) 2026年02月14日 06:29:09 +00:00
lib Update lib/Controller/UnifiedPushProviderController.php 2026年04月10日 19:34:11 +02:00
reverse_proxy_examples Add directives for Caddy 2025年10月15日 10:14:51 +02:00
script Update sign script to use passage 2026年02月19日 17:19:34 +01:00
templates Convert date fields to datetime type and reduce ids length to 32 2024年12月13日 09:35:55 +01:00
.gitattributes Set EOL=LF 2023年02月27日 22:22:26 +01:00
3rd-Party.license Implement vapid 2024年11月27日 15:22:57 +01:00
CHANGELOG.md 2.3.1 2025年09月29日 21:40:42 +02:00
COPYING Init 2021年11月08日 12:38:31 +01:00
OVERVIEW.md Add an overview of the architecture 2024年11月22日 16:02:47 +00:00
README.md Add directives for Caddy 2025年10月15日 10:14:51 +02:00

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

  1. Install this Nextcloud application from the store: https://apps.nextcloud.com/apps/uppush .

  2. 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 600
    

    Traefik: Default=180s - Entrypoints

    transport:
     respondingTimeouts:
     readTimeout: 10m
     writeTimeout: 10m
     idleTimeout: 10m
    

    Caddy: 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/