Local ntfy instance

Hi.
Using open push protocol is nice feature. However using main ntfy.sh server seemed to be unreliable probably due to overloading.
But ever since I switched to local ntfy server, all Android devices (within the same local subnet) are unable to communicate at all. Android ↔ Linux ↔ Windows communication remained unaffected.
My local ntfy server is accesible by all affected devices but not from outside network.
Is there any specific setup needed? Does ntfy server need to be seen from outer network?

Have a nice day, folks.

1 Like

:slightly_smiling_face:You need a DHT proxy in the same LAN, because default proxy (dhtproxy.jami.net) is unable to reach your ntfy instance.

You can use dhtnode command-line utility.

Note:
For version earlier than 2.6.0rc3, you need to pass --pushserver argument to enable push notifications.

2 Likes

Nice:-)
Thank you, I’ll try that.

Well, after setting up own dht node and pointing the Android client to it, it still doesn’t receive push notifications and the log still says:

[1698424742.990|5325|jamiaccount.cpp         :3923] [Account 42c3bc0dc46f1883] Using proxy: dhtproxy.jami.net:95

Android Jami client installed from F-Droid repository:
Eleutheria - 20231019-01

DHT node seems to be working (at least it hapilly responds to REST calls).

majordomus@pipla4 ~ $ cat /etc/dhtnode.conf
DHT_ARGS=-b bootstrap.jami.net -p 4222 -v --pushserver http://192.168.88.10 --proxyserver 8000
majordomus@pipla4 ~ $ yay -Qi opendht
Jméno                : opendht
Verze                : 1:2.5.5-2
1 Like

Have you restarted Jami or re-enable the account?

Behaviour seemed to be somehow erratic. With freshly created account the restart was enough.
After restoring the former account from backup, even after restart it keeped using default proxy.

Update after some more play with the setup: Also the proxy DHT URL list needed to be empty (with the restored backup I forgot to delete it at first) and existing swarms had to be deleted and created again (else conversation remained stuck on “downloading from peer”). It finally started to work afterwards.

Final setup:

  • local ntfy server - no special setup needed
  • Androind ntfy client - set default server to local one
  • local opendht instance - necessary only if ntfy server is inaccessible from WAN; enable --proxyserver (eventually also --pushserver for version < 2.6.0rc3)
  • Jami Android client - F-Droid version, deleted proxy DHT URL list, proxy DHT set to local opendht instance, existing swarms had to be deleted and created again.

Now Jami is rock steady and reliable. It’s gone long way since the early days. Nice piece of software indeed:-)
Thank you once again for help.

2 Likes