Push notifications not working on self-hosted server

Description

I’m running rocketchat on a Scaleway-server through docker compose (with komo.do as container deployer). I have a Caddy reverse proxy between rocketchat and the outside world with the following simple config:

rocketchat.glazenuil.nl {
  reverse_proxy localhost:3000
}

I did a slight modification to the original compose.yml to also run the database automatically like this:

include:
  - compose.database.yml

I only run compose.yml (and therefore now also the db), so I don’t use the included monitoring et cetera.

The problem

Push notifications are not working, I tried my phone and tablet and a colleague also tried their phone; all of them Android. My notifications are working fine for open.rocket.chat but not for our own instance.

Server Setup Information

  • Version of Rocket.Chat Server: 8.0.1
  • Operating System: Debian 13
  • Deployment Method: Docker compose
  • Number of Running Instances: 1
  • DB Replicaset Oplog: No idea what this is or how to figure it out
  • NodeJS Version: v22.16.0 (inside the rocketchat-container)
  • MongoDB Version: 8.2.6 (in the container)
  • Proxy: Caddy 2.6.2
  • Firewalls involved: no

Any additional Information

I went through other topics in this forum and through this article: https://desk.rocket.chat/portal/en/kb/articles/i-don-t-receive-push-messages but all to no avail. If there’s anything on logs for example I can provide, please let me know!

Ok. For testing I’d stick as closely to the recommended settings as possible. It’s about eliminating issues.

So use their compose files, .env etc as closely as possible - just don’t start the monitoring instances.

Once you have it working you can do what you like.

Oplog matters less today but it does tell you in the rocket logs as it starts.

Reverse proxy - your setup is too basic. Use the documented traefik/niginx samples as a base.

What about https and your certs?

And last, what do your logs tell you with debugging on?

Something like (check your instance names & docker docs)

docker logs -f rocketchat

I find this in the logs when using the test push notification

rocketchat-1  | {"level":20,"time":"2026-03-27T14:20:44.201Z","pid":1,"hostname":"d0e77d3d0855","name":"Push","msg":"Sent message \"@rien\" to 0 ios apps 2 android apps"}
rocketchat-1  | {"level":20,"time":"2026-03-27T14:20:44.205Z","pid":1,"hostname":"d0e77d3d0855","name":"Push","msg":"GUIDE: The \"AppsTokens\" - No APN clients have registered on the server yet..."}
rocketchat-1  | {"level":35,"time":"2026-03-27T14:20:44.205Z","pid":1,"hostname":"d0e77d3d0855","name":"API","method":"POST","url":"http://localhost/api/v1/method.call/push_test","userId":"WBZR9DgXZwmLJ3QTq","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Rocket.Chat/4.13.0 Chrome/144.0.7559.60 Electron/40.0.0 Safari/537.36","length":"88","host":"rocketchat.glazenuil.nl","referer":"https://rocketchat.glazenuil.nl/admin/settings/Push","remoteIP":"87.209.254.93","status":200,"responseTime":400}

I have no idea what to do with this message that ‘no apn clients have registered on the server’ though. I updated the rest of my config (including reverse proxy) by the way, but that didn’t change anything thus far

You have setup an account with Rocket, ensured https is working correctly and apps are logged on via https://yourdomain.com ?

Can they send & receive messages?

Small log snippets probably don’t tell the whole story.

99.9% it is your setup (normally PEBKC) but not really enough info to say what.

  • Yes I’m connecting to my URL (https://rocketchat.glazenuil.nl)
  • I can send and receive messages via multiple devices (integrations can send messages as well, such as Uptime Kuma), which I receive fine)

I can well image the problem is on my side, I just have no idea how or what since I just setup a simple server, nothing specials. I could not find a way to add an attachment on this forum so I pasted the entire logs to pastebin: https://pastebin.com/bxyraZcW
Hopefully that helps to figure out what the problem might be. Thanks for your help either way!

Your logs aren’t there.

Oh that’s weird. Nevermind pastebin then, I uploaded it to my Nextcloud-instance instead:

Will look when I have a minute but currently on holiday somewhere hot n shitty…. Interwebs here is painfully slow, and the vodka is plentiful……

Oh that looks truly horrific :wink: enjoy your holiday!

1 Like

It’s tough, but someone has to do it….

And I earned this :slight_smile:

I’ll wade in here after lurking for years, whether or not it helps who knows.

I was being driven mad by push notifications for days at one stage. What I finally discovered was if I had RocketChat open and logged in within the Desktop App or browser and was sitting in the channel I was expecting a push notification for, the push notification would never come. At least from what I’ve seen, you’ve got to be out of the channel completely on all platforms for the push notification to work.

There is, or was, a doc on push notification logic.

It is insanely complex.

Certainly make sure are logged out of all devices, and test on a clean private browser so you can cleanup when testing.

Check all the notification settings - there are quite a few.

Check in your cloud console you haven’t run out….

Then check your logs.

I just logged out of rocketchat in my browser, opened a private window, logged in there and then tried to send the test notification throught the settings. It confidently says it sent the notification to two devices, but neither of those devices receives anything.

What’s really strange is that I DID receive a notification last weekend from Rocket Cat! It send me a notification that a server update was available (which I applied with no effect). How come notifications from the cat do come through, but anything else doesn’t?

It’s quite driving me mad and we kinda need a chat solution for our business soon, so I’m seriously considering setting up a Matrix server instead, but I’d much prefer rocket.chat because of it’s features.

Any clues still on how to resolve this?

Yes, as previously indicated.

Logs.

Debug level and see what they tell you.

I did, like the logs linked earlier, but they don’t tell me anything. Perhaps you or someone else can make something of it? But they’re unfortunately not helping me along yet

Just seen it on your NC.

Doesn’t really need Mongo - just rocket.

First thing is update immediately to 8.0.3

You can see why:

Always look for updates to your release eg 8.0.x

Stupid update system misses them once a new version arrives - I have complained before…..

I’ll try having a look on a desktop when I get a minute.

NB. This is almost always config at your end.

Something you have done, fiddled with, not done.

The question is what…..