binwiederhier / ntfy

Send push notifications to your phone or desktop using PUT/POST
https://ntfy.sh
Apache License 2.0
16.96k stars 640 forks source link

`ntfy sub --from-config` won't receive messages until self-hosted ntfy server (Docker) is restarted or stopped #1081

Closed afunworm closed 1 month ago

afunworm commented 2 months ago

This is the discovery I made follow some attempts for #1076.

:lady_beetle: Describe the bug

Demonstration videos below Let's call Server the machine hosting the ntfy server through Docker. Let's call Client the machine hosting ntfy through Docker, but is only used for the docker CLI. Let's call the topic clitest.

On machine A, run ntfy sub --from-config. Using any method, publish a message to clitest. Supposedly, Client should output the receipt of the message sent to Server. However, this doesn't happen until the Docker container on Server is stopped.

This won't happen when using to the official https://ntfy.sh server instead of the self-hosted ntfy server.

:computer: Components impacted

ntfy CLI or ntfy Server. Both run on Ubuntu 22.04, through Docker Engine.

:bulb: Screenshots and/or logs Testing with self-hosted server: https://streamable.com/7fx5f2 Testing with ntfy.sh: https://streamable.com/7s4oy7

afunworm commented 2 months ago

This is the discovery I made follow some attempts for #1076.

🐞 Describe the bug

Demonstration videos below Let's call Server the machine hosting the ntfy server through Docker. Let's call Client the machine hosting ntfy through Docker, but is only used for the docker CLI. Let's call the topic clitest.

On machine A, run ntfy sub --from-config. Using any method, publish a message to clitest. Supposedly, Client should output the receipt of the message sent to Server. However, this doesn't happen until the Docker container on Server is stopped.

This won't happen when using to the official https://ntfy.sh server instead of the self-hosted ntfy server.

💻 Components impacted

ntfy CLI or ntfy Server. Both run on Ubuntu 22.04, through Docker Engine.

💡 Screenshots and/or logs Testing with self-hosted server: https://streamable.com/7fx5f2 Testing with ntfy.sh: https://streamable.com/7s4oy7

I did some more digging and it seems like it has to do with the server. I wrote a small script to subscribe to SSE from a topic from a self-hosted server, it wouldn't work. When I switched back to ntfy.sh, it works. Here's the script.

const EventSource = require("eventsource");

const evtSource = new EventSource(
        /* This self-hosted server won't work */
    "https://ntfy.byh.uy/clitest/sse?auth=<auth_token_goes_here>"

        /* But the official server will work flawlessly */
    // "https://ntfy.sh/clitest/sse?auth=<auth_token_goes_here>"
);

evtSource.onmessage = function (e) {
    let data = JSON.parse(e.data);
    console.log(data);
};

Funny enough, just like the original post, as soon as I did the docker compose stop, the messages got sent to the EventSource.

Here is the debug log, the first line shows as soon as I run the subscription script:

ntfy  | 2024/04/02 11:12:07 DEBUG HTTP request started (http_method=GET, http_path=/clitest/sse?auth=QmVhcmVyIHRrX3B3eXUybTloYnpwZGhwYnE3NHYxeXQ5bDBvaXA1, tag=http, user_id=u_BXra1tErVW, user_name=afunworm, visitor_auth_limiter_limit=0.016666666666666666, visitor_auth_limiter_tokens=30, visitor_emails=0, visitor_emails_limit=288, visitor_emails_remaining=288, visitor_id=ip:172.24.0.1, visitor_ip=172.24.0.1, visitor_messages=0, visitor_messages_limit=86400, visitor_messages_remaining=86400, visitor_request_limiter_limit=1, visitor_request_limiter_tokens=300, visitor_seen=2024-04-02T11:12:07.599-07:00)
ntfy  | 2024/04/02 11:12:07 DEBUG HTTP stream connection opened (http_method=GET, http_path=/clitest/sse?auth=QmVhcmVyIHRrX3B3eXUybTloYnpwZGhwYnE3NHYxeXQ5bDBvaXA1, tag=subscribe, user_id=u_BXra1tErVW, user_name=afunworm, visitor_auth_limiter_limit=0.016666666666666666, visitor_auth_limiter_tokens=30, visitor_emails=0, visitor_emails_limit=288, visitor_emails_remaining=288, visitor_id=ip:172.24.0.1, visitor_ip=172.24.0.1, visitor_messages=0, visitor_messages_limit=86400, visitor_messages_remaining=86400, visitor_request_limiter_limit=1, visitor_request_limiter_tokens=299.000020449, visitor_seen=2024-04-02T11:12:07.599-07:00)
ntfy  | 2024/04/02 11:12:12 DEBUG HTTP request started (http_method=PUT, http_path=/, tag=http, user_id=u_BXra1tErVW, user_name=afunworm, visitor_auth_limiter_limit=0.016666666666666666, visitor_auth_limiter_tokens=30, visitor_emails=0, visitor_emails_limit=288, visitor_emails_remaining=288, visitor_id=ip:172.24.0.1, visitor_ip=172.24.0.1, visitor_messages=0, visitor_messages_limit=86400, visitor_messages_remaining=86400, visitor_request_limiter_limit=1, visitor_request_limiter_tokens=300, visitor_seen=2024-04-02T11:12:12.421-07:00)
ntfy  | 2024/04/02 11:12:12 DEBUG Received message (http_method=PUT, http_path=/, message_body_size=13, message_call=, message_delayed=false, message_email=, message_event=message, message_firebase=true, message_id=4YbBLHy1ixaH, message_sender=172.24.0.1, message_time=1712081532, message_unifiedpush=false, message_user=u_BXra1tErVW, tag=publish, topic=clitest, topic_last_access=2024-04-02T11:12:07.599-07:00, topic_subscribers=1, user_id=u_BXra1tErVW, user_name=afunworm, visitor_auth_limiter_limit=0.016666666666666666, visitor_auth_limiter_tokens=30, visitor_emails=0, visitor_emails_limit=288, visitor_emails_remaining=288, visitor_id=ip:172.24.0.1, visitor_ip=172.24.0.1, visitor_messages=1, visitor_messages_limit=86400, visitor_messages_remaining=86399, visitor_request_limiter_limit=1, visitor_request_limiter_tokens=299.000019113, visitor_seen=2024-04-02T11:12:12.421-07:00)
ntfy  | 2024/04/02 11:12:12 DEBUG Adding message to cache (http_method=PUT, http_path=/, message_body_size=13, message_event=message, message_id=4YbBLHy1ixaH, message_sender=172.24.0.1, message_time=1712081532, message_user=u_BXra1tErVW, tag=publish, topic=clitest, user_id=u_BXra1tErVW, user_name=afunworm, visitor_auth_limiter_limit=0.016666666666666666, visitor_auth_limiter_tokens=30, visitor_emails=0, visitor_emails_limit=288, visitor_emails_remaining=288, visitor_id=ip:172.24.0.1, visitor_ip=172.24.0.1, visitor_messages=1, visitor_messages_limit=86400, visitor_messages_remaining=86399, visitor_request_limiter_limit=1, visitor_request_limiter_tokens=299.000037809, visitor_seen=2024-04-02T11:12:12.421-07:00)
ntfy  | 2024/04/02 11:12:12 DEBUG Forwarding to 1 subscriber(s) (message_body_size=13, message_event=message, message_id=4YbBLHy1ixaH, message_sender=172.24.0.1, message_time=1712081532, message_user=u_BXra1tErVW, tag=publish, topic=clitest, user_id=u_BXra1tErVW, user_name=afunworm, visitor_auth_limiter_limit=0.016666666666666666, visitor_auth_limiter_tokens=30, visitor_emails=0, visitor_emails_limit=288, visitor_emails_remaining=288, visitor_id=ip:172.24.0.1, visitor_ip=172.24.0.1, visitor_messages=1, visitor_messages_limit=86400, visitor_messages_remaining=86399, visitor_request_limiter_limit=1, visitor_request_limiter_tokens=299.00010935, visitor_seen=2024-04-02T11:12:12.421-07:00)
ntfy  | 2024/04/02 11:12:12 DEBUG Publishing web push message to 1 subscribers (message_body_size=13, message_event=message, message_id=4YbBLHy1ixaH, message_sender=172.24.0.1, message_time=1712081532, message_user=u_BXra1tErVW, tag=webpush, topic=clitest, user_id=u_BXra1tErVW, user_name=afunworm, visitor_auth_limiter_limit=0.016666666666666666, visitor_auth_limiter_tokens=30, visitor_emails=0, visitor_emails_limit=288, visitor_emails_remaining=288, visitor_id=ip:172.24.0.1, visitor_ip=172.24.0.1, visitor_messages=1, visitor_messages_limit=86400, visitor_messages_remaining=86399, visitor_request_limiter_limit=1, visitor_request_limiter_tokens=299.000296146, visitor_seen=2024-04-02T11:12:12.421-07:00)
ntfy  | 2024/04/02 11:12:12 DEBUG Sending web push message (message_body_size=13, message_event=message, message_id=4YbBLHy1ixaH, message_sender=172.24.0.1, message_time=1712081532, message_user=u_BXra1tErVW, tag=webpush, topic=clitest, user_id=u_BXra1tErVW, user_name=afunworm, visitor_auth_limiter_limit=0.016666666666666666, visitor_auth_limiter_tokens=30, visitor_emails=0, visitor_emails_limit=288, visitor_emails_remaining=288, visitor_id=ip:172.24.0.1, visitor_ip=172.24.0.1, visitor_messages=1, visitor_messages_limit=86400, visitor_messages_remaining=86399, visitor_request_limiter_limit=1, visitor_request_limiter_tokens=299.000362709, visitor_seen=2024-04-02T11:12:12.421-07:00, web_push_subscription_endpoint=https://fcm.googleapis.com/fcm/send/fq53wfR-2CE:APA91bGOOgJKdb0aEg9ZtO6BXXk-371jA4TmLjuiMdmldmkY23ml7L0xp5lemV92cULTsXEXU1BiSx6BP3Oaq4H9gJBk0PryrhycrEsaL7tpiUA_DiQRI0YeqNIrdNWYdp8mMaiz3xR1, web_push_subscription_id=wps_Ux7fNG, web_push_subscription_user_id=u_BXra1tErVW)
ntfy  | 2024/04/02 11:12:12 DEBUG Wrote 1 message(s) in 13.992575ms (tag=message_cache)
ntfy  | 2024/04/02 11:12:12 DEBUG HTTP request finished (http_method=PUT, http_path=/, tag=http, time_taken_ms=14, user_id=u_BXra1tErVW, user_name=afunworm, visitor_auth_limiter_limit=0.016666666666666666, visitor_auth_limiter_tokens=30, visitor_emails=0, visitor_emails_limit=288, visitor_emails_remaining=288, visitor_id=ip:172.24.0.1, visitor_ip=172.24.0.1, visitor_messages=1, visitor_messages_limit=86400, visitor_messages_remaining=86399, visitor_request_limiter_limit=1, visitor_request_limiter_tokens=299.014059064, visitor_seen=2024-04-02T11:12:12.421-07:00)
ntfy  | 2024/04/02 11:12:12 DEBUG HTTP request started (http_method=GET, http_path=/static/media/ding-fa473cef.mp3, tag=http, visitor_auth_limiter_limit=0.016666666666666666, visitor_auth_limiter_tokens=30, visitor_emails=0, visitor_emails_limit=288, visitor_emails_remaining=288, visitor_id=ip:172.24.0.1, visitor_ip=172.24.0.1, visitor_messages=1, visitor_messages_limit=86400, visitor_messages_remaining=86399, visitor_request_limiter_limit=1, visitor_request_limiter_tokens=299.193573368, visitor_seen=2024-04-02T11:12:12.615-07:00)
ntfy  | 2024/04/02 11:12:12 DEBUG HTTP request finished (http_method=GET, http_path=/static/media/ding-fa473cef.mp3, tag=http, time_taken_ms=0, visitor_auth_limiter_limit=0.016666666666666666, visitor_auth_limiter_tokens=30, visitor_emails=0, visitor_emails_limit=288, visitor_emails_remaining=288, visitor_id=ip:172.24.0.1, visitor_ip=172.24.0.1, visitor_messages=1, visitor_messages_limit=86400, visitor_messages_remaining=86399, visitor_request_limiter_limit=1, visitor_request_limiter_tokens=299.193708699, visitor_seen=2024-04-02T11:12:12.615-07:00)
ntfy  | 2024/04/02 11:12:12 DEBUG HTTP request started (http_method=GET, http_path=/static/images/ntfy.png, tag=http, visitor_auth_limiter_limit=0.016666666666666666, visitor_auth_limiter_tokens=30, visitor_emails=0, visitor_emails_limit=288, visitor_emails_remaining=288, visitor_id=ip:172.24.0.1, visitor_ip=172.24.0.1, visitor_messages=1, visitor_messages_limit=86400, visitor_messages_remaining=86399, visitor_request_limiter_limit=1, visitor_request_limiter_tokens=299.196051307, visitor_seen=2024-04-02T11:12:12.618-07:00)
ntfy  | 2024/04/02 11:12:12 DEBUG HTTP request started (http_method=GET, http_path=/static/images/mask-icon.svg, tag=http, visitor_auth_limiter_limit=0.016666666666666666, visitor_auth_limiter_tokens=30, visitor_emails=0, visitor_emails_limit=288, visitor_emails_remaining=288, visitor_id=ip:172.24.0.1, visitor_ip=172.24.0.1, visitor_messages=1, visitor_messages_limit=86400, visitor_messages_remaining=86399, visitor_request_limiter_limit=1, visitor_request_limiter_tokens=299.196994071, visitor_seen=2024-04-02T11:12:12.618-07:00)
ntfy  | 2024/04/02 11:12:12 DEBUG HTTP request finished (http_method=GET, http_path=/static/images/ntfy.png, tag=http, time_taken_ms=0, visitor_auth_limiter_limit=0.016666666666666666, visitor_auth_limiter_tokens=30, visitor_emails=0, visitor_emails_limit=288, visitor_emails_remaining=288, visitor_id=ip:172.24.0.1, visitor_ip=172.24.0.1, visitor_messages=1, visitor_messages_limit=86400, visitor_messages_remaining=86399, visitor_request_limiter_limit=1, visitor_request_limiter_tokens=299.197114801, visitor_seen=2024-04-02T11:12:12.618-07:00)
ntfy  | 2024/04/02 11:12:12 DEBUG HTTP request finished (http_method=GET, http_path=/static/images/mask-icon.svg, tag=http, time_taken_ms=0, visitor_auth_limiter_limit=0.016666666666666666, visitor_auth_limiter_tokens=30, visitor_emails=0, visitor_emails_limit=288, visitor_emails_remaining=288, visitor_id=ip:172.24.0.1, visitor_ip=172.24.0.1, visitor_messages=1, visitor_messages_limit=86400, visitor_messages_remaining=86399, visitor_request_limiter_limit=1, visitor_request_limiter_tokens=299.197160906, visitor_seen=2024-04-02T11:12:12.618-07:00)
ntfy  | 2024/04/02 11:12:23 DEBUG HTTP stream connection closed (http_method=GET, http_path=/clitest/sse?auth=QmVhcmVyIHRrX3B3eXUybTloYnpwZGhwYnE3NHYxeXQ5bDBvaXA1, tag=subscribe, visitor_auth_limiter_limit=0.016666666666666666, visitor_auth_limiter_tokens=30, visitor_emails=0, visitor_emails_limit=288, visitor_emails_remaining=288, visitor_id=ip:172.24.0.1, visitor_ip=172.24.0.1, visitor_messages=1, visitor_messages_limit=86400, visitor_messages_remaining=86399, visitor_request_limiter_limit=1, visitor_request_limiter_tokens=300, visitor_seen=2024-04-02T11:12:12.618-07:00)
ntfy  | 2024/04/02 11:12:23 DEBUG HTTP request finished (http_method=GET, http_path=/clitest/sse?auth=QmVhcmVyIHRrX3B3eXUybTloYnpwZGhwYnE3NHYxeXQ5bDBvaXA1, tag=http, time_taken_ms=15869, visitor_auth_limiter_limit=0.016666666666666666, visitor_auth_limiter_tokens=30, visitor_emails=0, visitor_emails_limit=288, visitor_emails_remaining=288, visitor_id=ip:172.24.0.1, visitor_ip=172.24.0.1, visitor_messages=1, visitor_messages_limit=86400, visitor_messages_remaining=86399, visitor_request_limiter_limit=1, visitor_request_limiter_tokens=300, visitor_seen=2024-04-02T11:12:12.618-07:00)

With that said, it seems like the stream isn't working properly. Is there anything I can do to diagnose this?

afunworm commented 2 months ago

This is the discovery I made follow some attempts for #1076. 🐞 Describe the bug Demonstration videos below Let's call Server the machine hosting the ntfy server through Docker. Let's call Client the machine hosting ntfy through Docker, but is only used for the docker CLI. Let's call the topic clitest. On machine A, run ntfy sub --from-config. Using any method, publish a message to clitest. Supposedly, Client should output the receipt of the message sent to Server. However, this doesn't happen until the Docker container on Server is stopped. This won't happen when using to the official https://ntfy.sh server instead of the self-hosted ntfy server. 💻 Components impacted ntfy CLI or ntfy Server. Both run on Ubuntu 22.04, through Docker Engine. 💡 Screenshots and/or logs Testing with self-hosted server: https://streamable.com/7fx5f2 Testing with ntfy.sh: https://streamable.com/7s4oy7

I did some more digging and it seems like it has to do with the server. I wrote a small script to subscribe to SSE from a topic from a self-hosted server, it wouldn't work. When I switched back to ntfy.sh, it works. Here's the script.

const EventSource = require("eventsource");

const evtSource = new EventSource(
        /* This self-hosted server won't work */
  "https://ntfy.byh.uy/clitest/sse?auth=<auth_token_goes_here>"

        /* But the official server will work flawlessly */
  // "https://ntfy.sh/clitest/sse?auth=<auth_token_goes_here>"
);

evtSource.onmessage = function (e) {
  let data = JSON.parse(e.data);
  console.log(data);
};

Funny enough, just like the original post, as soon as I did the docker compose stop, the messages got sent to the EventSource.

Here is the debug log, the first line shows as soon as I run the subscription script:

ntfy  | 2024/04/02 11:12:07 DEBUG HTTP request started (http_method=GET, http_path=/clitest/sse?auth=QmVhcmVyIHRrX3B3eXUybTloYnpwZGhwYnE3NHYxeXQ5bDBvaXA1, tag=http, user_id=u_BXra1tErVW, user_name=afunworm, visitor_auth_limiter_limit=0.016666666666666666, visitor_auth_limiter_tokens=30, visitor_emails=0, visitor_emails_limit=288, visitor_emails_remaining=288, visitor_id=ip:172.24.0.1, visitor_ip=172.24.0.1, visitor_messages=0, visitor_messages_limit=86400, visitor_messages_remaining=86400, visitor_request_limiter_limit=1, visitor_request_limiter_tokens=300, visitor_seen=2024-04-02T11:12:07.599-07:00)
ntfy  | 2024/04/02 11:12:07 DEBUG HTTP stream connection opened (http_method=GET, http_path=/clitest/sse?auth=QmVhcmVyIHRrX3B3eXUybTloYnpwZGhwYnE3NHYxeXQ5bDBvaXA1, tag=subscribe, user_id=u_BXra1tErVW, user_name=afunworm, visitor_auth_limiter_limit=0.016666666666666666, visitor_auth_limiter_tokens=30, visitor_emails=0, visitor_emails_limit=288, visitor_emails_remaining=288, visitor_id=ip:172.24.0.1, visitor_ip=172.24.0.1, visitor_messages=0, visitor_messages_limit=86400, visitor_messages_remaining=86400, visitor_request_limiter_limit=1, visitor_request_limiter_tokens=299.000020449, visitor_seen=2024-04-02T11:12:07.599-07:00)
ntfy  | 2024/04/02 11:12:12 DEBUG HTTP request started (http_method=PUT, http_path=/, tag=http, user_id=u_BXra1tErVW, user_name=afunworm, visitor_auth_limiter_limit=0.016666666666666666, visitor_auth_limiter_tokens=30, visitor_emails=0, visitor_emails_limit=288, visitor_emails_remaining=288, visitor_id=ip:172.24.0.1, visitor_ip=172.24.0.1, visitor_messages=0, visitor_messages_limit=86400, visitor_messages_remaining=86400, visitor_request_limiter_limit=1, visitor_request_limiter_tokens=300, visitor_seen=2024-04-02T11:12:12.421-07:00)
ntfy  | 2024/04/02 11:12:12 DEBUG Received message (http_method=PUT, http_path=/, message_body_size=13, message_call=, message_delayed=false, message_email=, message_event=message, message_firebase=true, message_id=4YbBLHy1ixaH, message_sender=172.24.0.1, message_time=1712081532, message_unifiedpush=false, message_user=u_BXra1tErVW, tag=publish, topic=clitest, topic_last_access=2024-04-02T11:12:07.599-07:00, topic_subscribers=1, user_id=u_BXra1tErVW, user_name=afunworm, visitor_auth_limiter_limit=0.016666666666666666, visitor_auth_limiter_tokens=30, visitor_emails=0, visitor_emails_limit=288, visitor_emails_remaining=288, visitor_id=ip:172.24.0.1, visitor_ip=172.24.0.1, visitor_messages=1, visitor_messages_limit=86400, visitor_messages_remaining=86399, visitor_request_limiter_limit=1, visitor_request_limiter_tokens=299.000019113, visitor_seen=2024-04-02T11:12:12.421-07:00)
ntfy  | 2024/04/02 11:12:12 DEBUG Adding message to cache (http_method=PUT, http_path=/, message_body_size=13, message_event=message, message_id=4YbBLHy1ixaH, message_sender=172.24.0.1, message_time=1712081532, message_user=u_BXra1tErVW, tag=publish, topic=clitest, user_id=u_BXra1tErVW, user_name=afunworm, visitor_auth_limiter_limit=0.016666666666666666, visitor_auth_limiter_tokens=30, visitor_emails=0, visitor_emails_limit=288, visitor_emails_remaining=288, visitor_id=ip:172.24.0.1, visitor_ip=172.24.0.1, visitor_messages=1, visitor_messages_limit=86400, visitor_messages_remaining=86399, visitor_request_limiter_limit=1, visitor_request_limiter_tokens=299.000037809, visitor_seen=2024-04-02T11:12:12.421-07:00)
ntfy  | 2024/04/02 11:12:12 DEBUG Forwarding to 1 subscriber(s) (message_body_size=13, message_event=message, message_id=4YbBLHy1ixaH, message_sender=172.24.0.1, message_time=1712081532, message_user=u_BXra1tErVW, tag=publish, topic=clitest, user_id=u_BXra1tErVW, user_name=afunworm, visitor_auth_limiter_limit=0.016666666666666666, visitor_auth_limiter_tokens=30, visitor_emails=0, visitor_emails_limit=288, visitor_emails_remaining=288, visitor_id=ip:172.24.0.1, visitor_ip=172.24.0.1, visitor_messages=1, visitor_messages_limit=86400, visitor_messages_remaining=86399, visitor_request_limiter_limit=1, visitor_request_limiter_tokens=299.00010935, visitor_seen=2024-04-02T11:12:12.421-07:00)
ntfy  | 2024/04/02 11:12:12 DEBUG Publishing web push message to 1 subscribers (message_body_size=13, message_event=message, message_id=4YbBLHy1ixaH, message_sender=172.24.0.1, message_time=1712081532, message_user=u_BXra1tErVW, tag=webpush, topic=clitest, user_id=u_BXra1tErVW, user_name=afunworm, visitor_auth_limiter_limit=0.016666666666666666, visitor_auth_limiter_tokens=30, visitor_emails=0, visitor_emails_limit=288, visitor_emails_remaining=288, visitor_id=ip:172.24.0.1, visitor_ip=172.24.0.1, visitor_messages=1, visitor_messages_limit=86400, visitor_messages_remaining=86399, visitor_request_limiter_limit=1, visitor_request_limiter_tokens=299.000296146, visitor_seen=2024-04-02T11:12:12.421-07:00)
ntfy  | 2024/04/02 11:12:12 DEBUG Sending web push message (message_body_size=13, message_event=message, message_id=4YbBLHy1ixaH, message_sender=172.24.0.1, message_time=1712081532, message_user=u_BXra1tErVW, tag=webpush, topic=clitest, user_id=u_BXra1tErVW, user_name=afunworm, visitor_auth_limiter_limit=0.016666666666666666, visitor_auth_limiter_tokens=30, visitor_emails=0, visitor_emails_limit=288, visitor_emails_remaining=288, visitor_id=ip:172.24.0.1, visitor_ip=172.24.0.1, visitor_messages=1, visitor_messages_limit=86400, visitor_messages_remaining=86399, visitor_request_limiter_limit=1, visitor_request_limiter_tokens=299.000362709, visitor_seen=2024-04-02T11:12:12.421-07:00, web_push_subscription_endpoint=https://fcm.googleapis.com/fcm/send/fq53wfR-2CE:APA91bGOOgJKdb0aEg9ZtO6BXXk-371jA4TmLjuiMdmldmkY23ml7L0xp5lemV92cULTsXEXU1BiSx6BP3Oaq4H9gJBk0PryrhycrEsaL7tpiUA_DiQRI0YeqNIrdNWYdp8mMaiz3xR1, web_push_subscription_id=wps_Ux7fNG, web_push_subscription_user_id=u_BXra1tErVW)
ntfy  | 2024/04/02 11:12:12 DEBUG Wrote 1 message(s) in 13.992575ms (tag=message_cache)
ntfy  | 2024/04/02 11:12:12 DEBUG HTTP request finished (http_method=PUT, http_path=/, tag=http, time_taken_ms=14, user_id=u_BXra1tErVW, user_name=afunworm, visitor_auth_limiter_limit=0.016666666666666666, visitor_auth_limiter_tokens=30, visitor_emails=0, visitor_emails_limit=288, visitor_emails_remaining=288, visitor_id=ip:172.24.0.1, visitor_ip=172.24.0.1, visitor_messages=1, visitor_messages_limit=86400, visitor_messages_remaining=86399, visitor_request_limiter_limit=1, visitor_request_limiter_tokens=299.014059064, visitor_seen=2024-04-02T11:12:12.421-07:00)
ntfy  | 2024/04/02 11:12:12 DEBUG HTTP request started (http_method=GET, http_path=/static/media/ding-fa473cef.mp3, tag=http, visitor_auth_limiter_limit=0.016666666666666666, visitor_auth_limiter_tokens=30, visitor_emails=0, visitor_emails_limit=288, visitor_emails_remaining=288, visitor_id=ip:172.24.0.1, visitor_ip=172.24.0.1, visitor_messages=1, visitor_messages_limit=86400, visitor_messages_remaining=86399, visitor_request_limiter_limit=1, visitor_request_limiter_tokens=299.193573368, visitor_seen=2024-04-02T11:12:12.615-07:00)
ntfy  | 2024/04/02 11:12:12 DEBUG HTTP request finished (http_method=GET, http_path=/static/media/ding-fa473cef.mp3, tag=http, time_taken_ms=0, visitor_auth_limiter_limit=0.016666666666666666, visitor_auth_limiter_tokens=30, visitor_emails=0, visitor_emails_limit=288, visitor_emails_remaining=288, visitor_id=ip:172.24.0.1, visitor_ip=172.24.0.1, visitor_messages=1, visitor_messages_limit=86400, visitor_messages_remaining=86399, visitor_request_limiter_limit=1, visitor_request_limiter_tokens=299.193708699, visitor_seen=2024-04-02T11:12:12.615-07:00)
ntfy  | 2024/04/02 11:12:12 DEBUG HTTP request started (http_method=GET, http_path=/static/images/ntfy.png, tag=http, visitor_auth_limiter_limit=0.016666666666666666, visitor_auth_limiter_tokens=30, visitor_emails=0, visitor_emails_limit=288, visitor_emails_remaining=288, visitor_id=ip:172.24.0.1, visitor_ip=172.24.0.1, visitor_messages=1, visitor_messages_limit=86400, visitor_messages_remaining=86399, visitor_request_limiter_limit=1, visitor_request_limiter_tokens=299.196051307, visitor_seen=2024-04-02T11:12:12.618-07:00)
ntfy  | 2024/04/02 11:12:12 DEBUG HTTP request started (http_method=GET, http_path=/static/images/mask-icon.svg, tag=http, visitor_auth_limiter_limit=0.016666666666666666, visitor_auth_limiter_tokens=30, visitor_emails=0, visitor_emails_limit=288, visitor_emails_remaining=288, visitor_id=ip:172.24.0.1, visitor_ip=172.24.0.1, visitor_messages=1, visitor_messages_limit=86400, visitor_messages_remaining=86399, visitor_request_limiter_limit=1, visitor_request_limiter_tokens=299.196994071, visitor_seen=2024-04-02T11:12:12.618-07:00)
ntfy  | 2024/04/02 11:12:12 DEBUG HTTP request finished (http_method=GET, http_path=/static/images/ntfy.png, tag=http, time_taken_ms=0, visitor_auth_limiter_limit=0.016666666666666666, visitor_auth_limiter_tokens=30, visitor_emails=0, visitor_emails_limit=288, visitor_emails_remaining=288, visitor_id=ip:172.24.0.1, visitor_ip=172.24.0.1, visitor_messages=1, visitor_messages_limit=86400, visitor_messages_remaining=86399, visitor_request_limiter_limit=1, visitor_request_limiter_tokens=299.197114801, visitor_seen=2024-04-02T11:12:12.618-07:00)
ntfy  | 2024/04/02 11:12:12 DEBUG HTTP request finished (http_method=GET, http_path=/static/images/mask-icon.svg, tag=http, time_taken_ms=0, visitor_auth_limiter_limit=0.016666666666666666, visitor_auth_limiter_tokens=30, visitor_emails=0, visitor_emails_limit=288, visitor_emails_remaining=288, visitor_id=ip:172.24.0.1, visitor_ip=172.24.0.1, visitor_messages=1, visitor_messages_limit=86400, visitor_messages_remaining=86399, visitor_request_limiter_limit=1, visitor_request_limiter_tokens=299.197160906, visitor_seen=2024-04-02T11:12:12.618-07:00)
ntfy  | 2024/04/02 11:12:23 DEBUG HTTP stream connection closed (http_method=GET, http_path=/clitest/sse?auth=QmVhcmVyIHRrX3B3eXUybTloYnpwZGhwYnE3NHYxeXQ5bDBvaXA1, tag=subscribe, visitor_auth_limiter_limit=0.016666666666666666, visitor_auth_limiter_tokens=30, visitor_emails=0, visitor_emails_limit=288, visitor_emails_remaining=288, visitor_id=ip:172.24.0.1, visitor_ip=172.24.0.1, visitor_messages=1, visitor_messages_limit=86400, visitor_messages_remaining=86399, visitor_request_limiter_limit=1, visitor_request_limiter_tokens=300, visitor_seen=2024-04-02T11:12:12.618-07:00)
ntfy  | 2024/04/02 11:12:23 DEBUG HTTP request finished (http_method=GET, http_path=/clitest/sse?auth=QmVhcmVyIHRrX3B3eXUybTloYnpwZGhwYnE3NHYxeXQ5bDBvaXA1, tag=http, time_taken_ms=15869, visitor_auth_limiter_limit=0.016666666666666666, visitor_auth_limiter_tokens=30, visitor_emails=0, visitor_emails_limit=288, visitor_emails_remaining=288, visitor_id=ip:172.24.0.1, visitor_ip=172.24.0.1, visitor_messages=1, visitor_messages_limit=86400, visitor_messages_remaining=86399, visitor_request_limiter_limit=1, visitor_request_limiter_tokens=300, visitor_seen=2024-04-02T11:12:12.618-07:00)

With that said, it seems like the stream isn't working properly. Is there anything I can do to diagnose this?

I finally made it work, by doing 2 things. However, I still don't know why these settings affect the streaming. For anyone who runs into the same problem in the future:

  1. Disable HTTPS redirect. I am using Nginx Proxy Manager, so I disabled it there.
  2. When subscribe to the topic, either by setting default-host or by writing your own script, use http instead of https.

This means it could be something wrong with the SSL settings on the server. However, all my other apps run perfectly, so I can't exactly narrow down what's wrong with the setup.

In the end, NTFY is still such an amazing piece of software. I'll be supporting it for a long time.

wunter8 commented 1 month ago

I was able to test this tonight. I have one container running ntfy serve, another container running ntfy sub --from-config, and a third container running ntfy pub. Everything worked fine for me (e.g., ntfy sub ran the correct command without me needing to kill the server container first).

So maybe there is a problem with nginx proxy manager? Or like you said, something with SSL/TLS?

wunter8 commented 1 month ago

Did you determine the source of the problem?

afunworm commented 1 month ago

Did you determine the source of the problem?

I didn't. I just settled to use http and called it a day. If you are not able to replicate it, it feels like it's more of my responsibility. Nginx Proxy Manager shows no error either.