UnifiedPush: Easiest / best way of setting it up in Yunohost?

So, Unifiedpush is the FOSS system for push notifications so everything isn’t going through Google’s Firebase system or Apple’s push notification system.

It needs a fairly simple app running serverside, and I’m wondering what the best way of doing this is with Yunohost? Ideally I’d like to be able to use Nextpush, the Nextcloud app. The only thing is that this seems to have a number of extra requirements that I’m not sure if Yunohost provides or not. Alternatively, there seems to be quite a lot of momentum behind Ntfy the script you can run on a server to support UnifiedPush. I didn’t see any way of installing it based on Yunohost though, like a ntfy_ynh app. I don’t want Yunohost to upgrade and suddenly have my ntfy script wiped, or anything like that.

So, any ideas of how we might reliably be able to run UnifiedPush with Yunohost?

2 Likes

I originally had problems with Nextpush actually sending notifications, but since upgrading to Nextcloud 25 on my RPI, it seems to be working on my Tusky app.

1 Like

Oh, interesting! I just upgraded to 25.0.2 on Yunohost myself, so maybe I’ll give that a try. That would be so cool if just installing Nextpush (and configuring everything) did the job!

1 Like

Uh… yeah… I didn’t see anything like the app… that you just posted a link to! facepalm

Thanks @tituspijean !

Also: I’ve since learned that apparently Yunohost with Nextcloud 25+ and the UnifiedPush Nextcloud app apparently works. I just set that up, and it works! It was remarkably easy compared to last time I tried. I just installed the Nextcloud UnifiedPush app. I installed Nextcloud Push on my Android phone. When I opened Fedilab on my phone I chose the “Nextpush” option it gave me. Element figured it out by itself. Now I have push notifications from my own server! <3 <3 <3!

4 Likes

did you manage to set ntfy up properly? For me, it installs alright, but I am overwhelmed with configuring it properly for use with ntfy on my phone.

I’ve never tried installing NTFY. It’s security model of “hope no-one guesses the URL or they can see all your notifications and spam you” didn’t appeal. I remember running into a similar situation in the past trying to set up UnifiedPush, though. It seemed so difficult to set up and troubleshoot that I ended up just giving up. With an upgrade from Nextcloud 22 to 25 though, Nextcloud+NextPush went from impossibly hard to laughably easy to get running. I literally did nothing but what I wrote in my last post and it’s worked flawlessly ever since.

3 Likes

Hi, I think this is a good post for asking about NextPush. All things considered this app is quite convient.

  • easy to install
  • it works
  • private, as it works through nextpush app and logged in user

but I usually get this in my phone with NextPush App

NextPush was disconnected 5 times before receiving the ping. You probably have a problem with your server configuration. Your reverse proxy timeout is probabl too low.

so it does not work after some time.

The app readme informs about this issue and how to set up and avoid this problem (with examples):

The reverse-proxy need to be configured for long timeout

and

The reverse-proxy need to be configured without buffering

in nginx, but what file should I edit? , I’ve not seen any section about uppush in

/etc/nginx/conf.d/domain.tld.d/nextcloud.conf

I don’t know if this timeout and buffering are for the whole nextcloud server or just for the nextpush nextcloud up. Would this have an effect on the general nextcloud server and/or yunohost server? thank you.

Hi :smiley:

I’m trying to make Unified Push Provider (XMPP Transport) work in my YNH

as it is by far the most reliable (and easy to use, maybe) unifiedpush system I’ve tested (using up.conversations.im) so it’d be nice to set it up on my server :clown_face:

  • installed JRE (11, bullseyes)
  • cloned the project (git…) in /home/“admin-user”/
  • added domain and ssl certificate for domain (up.domain.noho.st)
  • edited config.json as
{
  "component": {
    "hostname": "localhost",
    "port": 5347,
    "jid": "up.domain.noho.st",
    "sharedSecret": "none"
  },
  "registration": {    
    "sharedSecret": "yvE8R66TJH9h---------------------------anWhRZIp5II=", # long secret key
    "uri": "https://up.domain.noho.st/push/{token}"
  },
  "webServer": {
    "ip": "127.0.0.1",
    "port": 6677,
    "messageUri": "https://up.domain.noho.st/message/{uuid}"
  }
}
  • launched java service as java -jar build/libs/up-0.1-all.jar -c /home/admin-user/config.json

BUT :thinking: I guess I have to open port 6677 on my system (and/or 5347?) config nginx to listen that port in /etc/nginx/conf.d/up.domain.noho.st.conf. Please, How To?

Log


[Thread-0] INFO org.eclipse.jetty.util.log - Logging initialized @768ms to org.eclipse.jetty.
util.log.Slf4jLog
[Thread-0] INFO spark.embeddedserver.jetty.EmbeddedJettyServer - == Spark has ignited ...
[Thread-0] INFO spark.embeddedserver.jetty.EmbeddedJettyServer - >> Listening on 127.0.0.1:**6677**
[Thread-0] INFO org.eclipse.jetty.server.Server - jetty-9.4.48.v20220622; built: 2022-06-21T2
0:42:25.880Z; git: 6b67c5719d1f4371b33655ff2d047d24e171e49a; jvm 11.0.21+9-post-Debian-1deb11
u1
[Thread-0] INFO org.eclipse.jetty.server.session - DefaultSessionIdManager workerName=node0
[Thread-0] INFO org.eclipse.jetty.server.session - No SessionScavenger set, using defaults
[Thread-0] INFO org.eclipse.jetty.server.session - node0 Scavenging every 600000ms
[Thread-0] INFO org.eclipse.jetty.server.AbstractConnector - Started ServerConnector@41fb576c
{HTTP/1.1, (http/1.1)}{127.0.0.1:6677}
[Thread-0] INFO org.eclipse.jetty.server.Server - Started @1295ms
Failed to connect to localhost:5347
Failed to connect to localhost:5347
Failed to connect to localhost:5347

Any help would be appreciated. Thanks.

Eventually I also guess I need cron job to launch java thing on system boot

@ghose Did you manage to get it working?

I’m also trying to set up UnifiedPush (using Conversations as the client) and wondering which provider to choose.

One thing I was considering too was self-hosting the (Metronome) XMPP ↦ Conversations part. I guess this should not be too hard to set-up.

…or switching to Prosody and using

https://modules.prosody.im/mod_unified_push.html

I have Nextcloud installed too, so that’s another venue. But XMPP feels the most logical, as it has constant and inexpensive internet access all the time anyway. Aaaaaah, so many options!! :sweat_smile:

I have not :frowning: As Metronome is derived from prosody I had installed that prosody module (and other I can not remember as dependency) and IIRC integrated in metronome, created a dedicated subdomain,… but failed when trying to set up nginx to redirect client requests to the service, so I could not even test if it was properly added to metronome. I can not remember exactly what the problem was as I’m just an user without technical background/knowledge. I just read lot of stuff and try.

I’m currently using NextPush (nextcloud app) with mixed results in some devices. It would be much more convenient and eficient using metronome as it is installed and active by default in all our YNHs and it needs barely no resources to work. Adding up.conversations.im to Conversations client is a breeze and works, that was my reason to try to use my metronome server, because it is our messaging service for the family and it would be beneficial (for us).

Thank you for you ping. I hope more experienced people would reach and make it work. I could not and I can not waste more time on this :frowning: , sorry.

1 Like

Thanks for the update, @ghose . This is some new teeritorry for me too but will share if I manage to progress in any way.

1 Like