[GH-ISSUE #794] PWA manifest 404 error #563

Closed
opened 2026-05-07 00:25:26 +02:00 by BreizhHardware · 10 comments

Originally created by @hockey6611 on GitHub (Jun 29, 2023).
Original GitHub issue: https://github.com/binwiederhier/ntfy/issues/794

🐞 Describe the bug

I am running ntfy selfhosted behind a proxy with valid https certificate. Was excited to play with the new PWA in 2.6.0 and then in 2.6.1. However I am receiving a 404 error on my browser for the manifest: {"code":40401,"http":404,"error":"page not found"}

💻 Components impacted

PWA on all platforms

💡 Screenshots and/or logs

Web browser console/headers:

Request URL:
https://ntfy.[FQDN]/manifest.webmanifest
Request Method:
GET
Status Code:
404
Remote Address:
192.168.66.48:443
Referrer Policy:
strict-origin-when-cross-origin
Access-Control-Allow-Origin:
*
Content-Length:
51
Content-Type:
application/json
Date:
Thu, 29 Jun 2023 03:24:23 GMT
Server:
openresty
:Authority:
ntfy.[FQDN]
:Method:
GET
:Path:
/manifest.webmanifest
:Scheme:
https
Accept:
*/*
Accept-Encoding:
gzip, deflate, br
Accept-Language:
en-US,en;q=0.9,zh-CN;q=0.8,zh;q=0.7
Dnt:
1
Referer:
https://ntfy.[FQDN]/
Sec-Ch-Ua:
"Not.A/Brand";v="8", "Chromium";v="114", "Google Chrome";v="114"
Sec-Ch-Ua-Mobile:
?1
Sec-Ch-Ua-Platform:
"Android"
Sec-Fetch-Dest:
manifest
Sec-Fetch-Mode:
cors
Sec-Fetch-Site:
same-origin
User-Agent:
Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Mobile Safari/537.36

Web browser response:

{"code":40401,"http":404,"error":"page not found"}
ntfy docker trace logs
Dnt: 1
Sec-Ch-Ua-Platform: "Windows"
Sec-Fetch-Site: same-origin
Referer: https://ntfy.[FQDN]/
X-Forwarded-For: 192.168.66.3
X-Real-Ip: 192.168.66.3
Accept: */*
Accept-Language: en-US,en;q=0.9,zh-CN;q=0.8,zh;q=0.7
Sec-Ch-Ua-Mobile: ?0
Authorization: Bearer tk_zqX4LVEIEvPEDaueWEAavjJhqjDQD
Sec-Ch-Ua: "Not.A/Brand";v="8", "Chromium";v="114", "Google Chrome";v="114"
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36
Sec-Fetch-Mode: cors
Sec-Fetch-Dest: empty
Accept-Encoding: gzip, deflate, br
X-Forwarded-Scheme: https, tag=http, user_id=u_Az1ZB3iIQq, user_name=IanAdmin, visitor_auth_limiter_limit=0.016666666666666666, visitor_auth_limiter_tokens=30, visitor_id=ip:192.168.66.3, visitor_ip=192.168.66.3, visitor_messages=0, visitor_messages_limit=17280, visitor_messages_remaining=17280, visitor_request_limiter_limit=0.2, visitor_request_limiter_tokens=43.62386394800002, visitor_seen=2023-06-29T03:16:45.255Z)
     
2023/06/29 03:16:45 DEBUG HTTP stream connection opened (http_method=GET, http_path=/vikunja/json?poll=1&since=5p60l4JYTnzU, tag=subscribe, user_id=u_Az1ZB3iIQq, user_name=IanAdmin, visitor_auth_limiter_limit=0.016666666666666666, visitor_auth_limiter_tokens=30, visitor_id=ip:192.168.66.3, visitor_ip=192.168.66.3, visitor_messages=0, visitor_messages_limit=17280, visitor_messages_remaining=17280, visitor_request_limiter_limit=0.2, visitor_request_limiter_tokens=41.623875222000024, visitor_seen=2023-06-29T03:16:45.255Z)
     
2023/06/29 03:16:45 DEBUG HTTP stream connection opened (http_method=GET, http_path=/systems2/json?poll=1&since=VVeQ5lsdmEsr, tag=subscribe, user_id=u_Az1ZB3iIQq, user_name=IanAdmin, visitor_auth_limiter_limit=0.016666666666666666, visitor_auth_limiter_tokens=30, visitor_id=ip:192.168.66.3, visitor_ip=192.168.66.3, visitor_messages=0, visitor_messages_limit=17280, visitor_messages_remaining=17280, visitor_request_limiter_limit=0.2, visitor_request_limiter_tokens=41.62387996460003, visitor_seen=2023-06-29T03:16:45.255Z)
2023/06/29 03:16:45 TRACE HTTP request started (http_method=GET, http_path=/updates/json?poll=1&since=ZFcW4wy4LQS1, http_request=GET /updates/json?poll=1&since=ZFcW4wy4LQS1 HTTP/1.1
Dnt: 1
Accept: */*
Accept-Encoding: gzip, deflate, br
Accept-Language: en-US,en;q=0.9,zh-CN;q=0.8,zh;q=0.7
X-Forwarded-Scheme: https
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36
Sec-Fetch-Mode: cors
Sec-Fetch-Dest: empty
X-Forwarded-For: 192.168.66.3
Sec-Ch-Ua-Mobile: ?0
Sec-Ch-Ua-Platform: "Windows"
Referer: https://ntfy.[FQDN]/
X-Forwarded-Proto: https
Authorization: Bearer tk_zqX4LVEIEvPEDaueWEAavjJhqjDQD
Sec-Fetch-Site: same-origin
X-Real-Ip: 192.168.66.3
Sec-Ch-Ua: "Not.A/Brand";v="8", "Chromium";v="114", "Google Chrome";v="114", tag=http, user_id=u_Az1ZB3iIQq, user_name=IanAdmin, visitor_auth_limiter_limit=0.016666666666666666, visitor_auth_limiter_tokens=30, visitor_id=ip:192.168.66.3, visitor_ip=192.168.66.3, visitor_messages=0, visitor_messages_limit=17280, visitor_messages_remaining=17280, visitor_request_limiter_limit=0.2, visitor_request_limiter_tokens=41.623975323000025, visitor_seen=2023-06-29T03:16:45.256Z)
2023/06/29 03:16:45 DEBUG HTTP stream connection opened (http_method=GET, http_path=/updates/json?poll=1&since=ZFcW4wy4LQS1, tag=subscribe, user_id=u_Az1ZB3iIQq, user_name=IanAdmin, visitor_auth_limiter_limit=0.016666666666666666, visitor_auth_limiter_tokens=30, visitor_id=ip:192.168.66.3, visitor_ip=192.168.66.3, visitor_messages=0, visitor_messages_limit=17280, visitor_messages_remaining=17280, visitor_request_limiter_limit=0.2, visitor_request_limiter_tokens=40.62399359340002, visitor_seen=2023-06-29T03:16:45.256Z)
     
2023/06/29 03:16:45 DEBUG HTTP stream connection closed (http_method=GET, http_path=/updates/json?poll=1&since=ZFcW4wy4LQS1, tag=subscribe, user_id=u_Az1ZB3iIQq, user_name=IanAdmin, visitor_auth_limiter_limit=0.016666666666666666, visitor_auth_limiter_tokens=30, visitor_id=ip:192.168.66.3, visitor_ip=192.168.66.3, visitor_messages=0, visitor_messages_limit=17280, visitor_messages_remaining=17280, visitor_request_limiter_limit=0.2, visitor_request_limiter_tokens=40.624132884000026, visitor_seen=2023-06-29T03:16:45.256Z)
2023/06/29 03:16:45 DEBUG HTTP request finished (http_method=GET, http_path=/updates/json?poll=1&since=ZFcW4wy4LQS1, tag=http, time_taken_ms=0, user_id=u_Az1ZB3iIQq, user_name=IanAdmin, visitor_auth_limiter_limit=0.016666666666666666, visitor_auth_limiter_tokens=30, visitor_id=ip:192.168.66.3, visitor_ip=192.168.66.3, visitor_messages=0, visitor_messages_limit=17280, visitor_messages_remaining=17280, visitor_request_limiter_limit=0.2, visitor_request_limiter_tokens=40.62416785000002, visitor_seen=2023-06-29T03:16:45.256Z)
     
2023/06/29 03:16:45 DEBUG HTTP stream connection closed (http_method=GET, http_path=/systems2/json?poll=1&since=VVeQ5lsdmEsr, tag=subscribe, user_id=u_Az1ZB3iIQq, user_name=IanAdmin, visitor_auth_limiter_limit=0.016666666666666666, visitor_auth_limiter_tokens=30, visitor_id=ip:192.168.66.3, visitor_ip=192.168.66.3, visitor_messages=0, visitor_messages_limit=17280, visitor_messages_remaining=17280, visitor_request_limiter_limit=0.2, visitor_request_limiter_tokens=40.62417713440002, visitor_seen=2023-06-29T03:16:45.256Z)
2023/06/29 03:16:45 DEBUG HTTP request finished (http_method=GET, http_path=/systems2/json?poll=1&since=VVeQ5lsdmEsr, tag=http, time_taken_ms=1, user_id=u_Az1ZB3iIQq, user_name=IanAdmin, visitor_auth_limiter_limit=0.016666666666666666, visitor_auth_limiter_tokens=30, visitor_id=ip:192.168.66.3, visitor_ip=192.168.66.3, visitor_messages=0, visitor_messages_limit=17280, visitor_messages_remaining=17280, visitor_request_limiter_limit=0.2, visitor_request_limiter_tokens=40.624208699600025, visitor_seen=2023-06-29T03:16:45.256Z)
2023/06/29 03:16:45 DEBUG HTTP stream connection opened (http_method=GET, http_path=/test/json?poll=1, tag=subscribe, user_id=u_Az1ZB3iIQq, user_name=IanAdmin, visitor_auth_limiter_limit=0.016666666666666666, visitor_auth_limiter_tokens=30, visitor_id=ip:192.168.66.3, visitor_ip=192.168.66.3, visitor_messages=0, visitor_messages_limit=17280, visitor_messages_remaining=17280, visitor_request_limiter_limit=0.2, visitor_request_limiter_tokens=40.62418569820002, visitor_seen=2023-06-29T03:16:45.256Z)
2023/06/29 03:16:45 DEBUG HTTP stream connection closed (http_method=GET, http_path=/test/json?poll=1, tag=subscribe, user_id=u_Az1ZB3iIQq, user_name=IanAdmin, visitor_auth_limiter_limit=0.016666666666666666, visitor_auth_limiter_tokens=30, visitor_id=ip:192.168.66.3, visitor_ip=192.168.66.3, visitor_messages=0, visitor_messages_limit=17280, visitor_messages_remaining=17280, visitor_request_limiter_limit=0.2, visitor_request_limiter_tokens=40.62426024560002, visitor_seen=2023-06-29T03:16:45.256Z)
2023/06/29 03:16:45 DEBUG HTTP request finished (http_method=GET, http_path=/test/json?poll=1, tag=http, time_taken_ms=2, user_id=u_Az1ZB3iIQq, user_name=IanAdmin, visitor_auth_limiter_limit=0.016666666666666666, visitor_auth_limiter_tokens=30, visitor_id=ip:192.168.66.3, visitor_ip=192.168.66.3, visitor_messages=0, visitor_messages_limit=17280, visitor_messages_remaining=17280, visitor_request_limiter_limit=0.2, visitor_request_limiter_tokens=40.624271841400024, visitor_seen=2023-06-29T03:16:45.256Z)
2023/06/29 03:16:45 DEBUG HTTP stream connection closed (http_method=GET, http_path=/vikunja/json?poll=1&since=5p60l4JYTnzU, tag=subscribe, user_id=u_Az1ZB3iIQq, user_name=IanAdmin, visitor_auth_limiter_limit=0.016666666666666666, visitor_auth_limiter_tokens=30, visitor_id=ip:192.168.66.3, visitor_ip=192.168.66.3, visitor_messages=0, visitor_messages_limit=17280, visitor_messages_remaining=17280, visitor_request_limiter_limit=0.2, visitor_request_limiter_tokens=40.62432026820002, visitor_seen=2023-06-29T03:16:45.256Z)
2023/06/29 03:16:45 DEBUG HTTP request finished (http_method=GET, http_path=/vikunja/json?poll=1&since=5p60l4JYTnzU, tag=http, time_taken_ms=2, user_id=u_Az1ZB3iIQq, user_name=IanAdmin, visitor_auth_limiter_limit=0.016666666666666666, visitor_auth_limiter_tokens=30, visitor_id=ip:192.168.66.3, visitor_ip=192.168.66.3, visitor_messages=0, visitor_messages_limit=17280, visitor_messages_remaining=17280, visitor_request_limiter_limit=0.2, visitor_request_limiter_tokens=40.62432793200002, visitor_seen=2023-06-29T03:16:45.256Z)
2023/06/29 03:16:46 TRACE HTTP request started (http_method=GET, http_path=/, http_request=GET / HTTP/1.1
Dnt: 1
Sec-Fetch-Site: same-origin
X-Forwarded-Scheme: https
X-Forwarded-For: 192.168.66.3
Sec-Ch-Ua: "Not.A/Brand";v="8", "Chromium";v="114", "Google Chrome";v="114"
Sec-Ch-Ua-Mobile: ?0
Sec-Ch-Ua-Platform: "Windows"
Accept-Encoding: gzip, deflate, br
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36
Sec-Fetch-Mode: no-cors
Sec-Fetch-Dest: empty
If-Modified-Since: Thu, 29 Jun 2023 03:04:41 GMT
X-Forwarded-Proto: https
X-Real-Ip: 192.168.66.3
Accept: */*
Accept-Language: en-US,en;q=0.9,zh-CN;q=0.8,zh;q=0.7, tag=http, visitor_auth_limiter_limit=0.016666666666666666, visitor_auth_limiter_tokens=30, visitor_id=ip:192.168.66.3, visitor_ip=192.168.66.3, visitor_messages=0, visitor_messages_limit=17280, visitor_messages_remaining=17280, visitor_request_limiter_limit=0.2, visitor_request_limiter_tokens=40.793662320800024, visitor_seen=2023-06-29T03:16:46.104Z)
2023/06/29 03:16:46 DEBUG HTTP request finished (http_method=GET, http_path=/, tag=http, time_taken_ms=0, visitor_auth_limiter_limit=0.016666666666666666, visitor_auth_limiter_tokens=30, visitor_id=ip:192.168.66.3, visitor_ip=192.168.66.3, visitor_messages=0, visitor_messages_limit=17280, visitor_messages_remaining=17280, visitor_request_limiter_limit=0.2, visitor_request_limiter_tokens=40.79376031340002, visitor_seen=2023-06-29T03:16:46.104Z)
2023/06/29 03:16:46 TRACE HTTP request started (http_method=GET, http_path=/manifest.webmanifest, http_request=GET /manifest.webmanifest HTTP/1.1
Sec-Ch-Ua-Platform: "Windows"
X-Forwarded-For: 192.168.66.3
X-Real-Ip: 192.168.66.3
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36
Sec-Fetch-Site: same-origin
Sec-Fetch-Dest: empty
Accept-Language: en-US,en;q=0.9,zh-CN;q=0.8,zh;q=0.7
Sec-Ch-Ua: "Not.A/Brand";v="8", "Chromium";v="114", "Google Chrome";v="114"
X-Forwarded-Scheme: https
X-Forwarded-Proto: https
Dnt: 1
Sec-Ch-Ua-Mobile: ?0
Accept: */*
Sec-Fetch-Mode: cors
Referer: https://ntfy.[FQDN]/
Accept-Encoding: gzip, deflate, br, tag=http, visitor_auth_limiter_limit=0.016666666666666666, visitor_auth_limiter_tokens=30, visitor_id=ip:192.168.66.3, visitor_ip=192.168.66.3, visitor_messages=0, visitor_messages_limit=17280, visitor_messages_remaining=17280, visitor_request_limiter_limit=0.2, visitor_request_limiter_tokens=40.793782939000025, visitor_seen=2023-06-29T03:16:46.105Z)
2023/06/29 03:16:46 DEBUG Connection closed with HTTP 404 (ntfy error 40401) (error=page not found, error_code=40401, http_method=GET, http_path=/manifest.webmanifest, http_status=404, tag=http, visitor_auth_limiter_limit=0.016666666666666666, visitor_auth_limiter_tokens=30, visitor_id=ip:192.168.66.3, visitor_ip=192.168.66.3, visitor_messages=0, visitor_messages_limit=17280, visitor_messages_remaining=17280, visitor_request_limiter_limit=0.2, visitor_request_limiter_tokens=40.79386287560003, visitor_seen=2023-06-29T03:16:46.105Z)
2023/06/29 03:16:46 DEBUG HTTP request finished (http_method=GET, http_path=/manifest.webmanifest, tag=http, time_taken_ms=0, visitor_auth_limiter_limit=0.016666666666666666, visitor_auth_limiter_tokens=30, visitor_id=ip:192.168.66.3, visitor_ip=192.168.66.3, visitor_messages=0, visitor_messages_limit=17280, visitor_messages_remaining=17280, visitor_request_limiter_limit=0.2, visitor_request_limiter_tokens=40.79387757240002, visitor_seen=2023-06-29T03:16:46.105Z)
2023/06/29 03:16:46 TRACE HTTP request started (http_method=GET, http_path=/sw.js.map, http_request=GET /sw.js.map HTTP/1.1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36
X-Forwarded-Scheme: https
Connection: close
Sec-Fetch-Mode: no-cors
X-Real-Ip: 192.168.66.3
Sec-Fetch-Site: same-origin
Sec-Fetch-Dest: empty
Accept-Encoding: gzip, deflate, br
Accept-Language: en-US,en;q=0.9,zh-CN;q=0.8,zh;q=0.7
X-Forwarded-Proto: https
X-Forwarded-For: 192.168.66.3, tag=http, visitor_auth_limiter_limit=0.016666666666666666, visitor_auth_limiter_tokens=30, visitor_id=ip:192.168.66.3, visitor_ip=192.168.66.3, visitor_messages=0, visitor_messages_limit=17280, visitor_messages_remaining=17280, visitor_request_limiter_limit=0.2, visitor_request_limiter_tokens=40.81897843280002, visitor_seen=2023-06-29T03:16:46.231Z)
2023/06/29 03:16:46 DEBUG Connection closed with HTTP 404 (ntfy error 40401) (error=page not found, error_code=40401, http_method=GET, http_path=/sw.js.map, http_status=404, tag=http, visitor_auth_limiter_limit=0.016666666666666666, visitor_auth_limiter_tokens=30, visitor_id=ip:192.168.66.3, visitor_ip=192.168.66.3, visitor_messages=0, visitor_messages_limit=17280, visitor_messages_remaining=17280, visitor_request_limiter_limit=0.2, visitor_request_limiter_tokens=40.81899482080002, visitor_seen=2023-06-29T03:16:46.231Z)
2023/06/29 03:16:46 DEBUG HTTP request finished (http_method=GET, http_path=/sw.js.map, tag=http, time_taken_ms=0, visitor_auth_limiter_limit=0.016666666666666666, visitor_auth_limiter_tokens=30, visitor_id=ip:192.168.66.3, visitor_ip=192.168.66.3, visitor_messages=0, visitor_messages_limit=17280, visitor_messages_remaining=17280, visitor_request_limiter_limit=0.2, visitor_request_limiter_tokens=40.81900618260002, visitor_seen=2023-06-29T03:16:46.231Z)
2023/06/29 03:17:06 TRACE No user stats updates to commit (tag=user_manager)
2023/06/29 03:17:06 DEBUG Writing token update queue for 1 token(s) (tag=user_manager)
2023/06/29 03:17:06 TRACE Updating token tk_zqX4LVEIEvPEDaueWEAavjJhqjDQD with last access time 1688008605 (tag=user_manager)

🔮 Additional context

I run ntfy on docker, with http :80 running to Nginx Proxy Manager as my reverse proxy. Docker compose below. In troubleshooting course, I noted PWA manifest has to be served over https, which I am doing. Would this have anything to do with my proxy config?

version: "2.1"

services:
  ntfy:
    image: binwiederhier/ntfy:v2.6.1
    container_name: ntfy
    command:
      - serve
    environment:
      - TZ=America/New_York    # optional: set desired timezone
      - NTFY_SMTP_SERVER_LISTEN=:25
      - NTFY_SMTP_SERVER_DOMAIN=ntfy.[FQDN]
      - NTFY_SMTP_SERVER_ADDR_PREFIX=ntfy-
      - NTFY_LOG_LEVEL=TRACE
      - NTFY_ENABLE_LOGIN=true
      - NTFY_ENABLE_SIGNUP=true
      - NTFY_ENABLE_RESERVATIONS=true
      - NTFY_AUTH_DEFAULT_ACCESS=deny-all
      - NTFY_BEHIND_PROXY=true
      - NTFY_BASE_URL=https://ntfy.[FQDN]
    user: 1000:1000
    volumes:
      - /data/compose_data/ntfy/var:/var/cache/ntfy
      - /data/compose_data/ntfy/etc:/etc/ntfy
      - /data/compose_data/ntfy/var-lib:/var/lib/ntfy
    ports:
    #   - 8770:80
      - 25000:25
    restart: unless-stopped
    networks:
     - npm
networks:
  npm:
    external: true
Originally created by @hockey6611 on GitHub (Jun 29, 2023). Original GitHub issue: https://github.com/binwiederhier/ntfy/issues/794 :lady_beetle: **Describe the bug** <!-- A clear and concise description of the problem. --> I am running ntfy selfhosted behind a proxy with valid https certificate. Was excited to play with the new PWA in 2.6.0 and then in 2.6.1. However I am receiving a 404 error on my browser for the manifest: `{"code":40401,"http":404,"error":"page not found"}` :computer: **Components impacted** <!-- ntfy server, Android app, iOS app, web app --> PWA on all platforms :bulb: **Screenshots and/or logs** <!-- If applicable, add screenshots or share logs help explain your problem. To get logs from the ... - ntfy server: Enable "log-level: trace" in your server.yml file - Android app: Go to "Settings" -> "Record logs", then eventually "Copy/upload logs" - web app: Press "F12" and find the "Console" window --> ### Web browser console/headers: ``` Request URL: https://ntfy.[FQDN]/manifest.webmanifest Request Method: GET Status Code: 404 Remote Address: 192.168.66.48:443 Referrer Policy: strict-origin-when-cross-origin Access-Control-Allow-Origin: * Content-Length: 51 Content-Type: application/json Date: Thu, 29 Jun 2023 03:24:23 GMT Server: openresty :Authority: ntfy.[FQDN] :Method: GET :Path: /manifest.webmanifest :Scheme: https Accept: */* Accept-Encoding: gzip, deflate, br Accept-Language: en-US,en;q=0.9,zh-CN;q=0.8,zh;q=0.7 Dnt: 1 Referer: https://ntfy.[FQDN]/ Sec-Ch-Ua: "Not.A/Brand";v="8", "Chromium";v="114", "Google Chrome";v="114" Sec-Ch-Ua-Mobile: ?1 Sec-Ch-Ua-Platform: "Android" Sec-Fetch-Dest: manifest Sec-Fetch-Mode: cors Sec-Fetch-Site: same-origin User-Agent: Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Mobile Safari/537.36 ``` ### Web browser response: ``` {"code":40401,"http":404,"error":"page not found"} ```` <details> <summary>ntfy docker trace logs</summary> ``` Dnt: 1 Sec-Ch-Ua-Platform: "Windows" Sec-Fetch-Site: same-origin Referer: https://ntfy.[FQDN]/ X-Forwarded-For: 192.168.66.3 X-Real-Ip: 192.168.66.3 Accept: */* Accept-Language: en-US,en;q=0.9,zh-CN;q=0.8,zh;q=0.7 Sec-Ch-Ua-Mobile: ?0 Authorization: Bearer tk_zqX4LVEIEvPEDaueWEAavjJhqjDQD Sec-Ch-Ua: "Not.A/Brand";v="8", "Chromium";v="114", "Google Chrome";v="114" User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36 Sec-Fetch-Mode: cors Sec-Fetch-Dest: empty Accept-Encoding: gzip, deflate, br X-Forwarded-Scheme: https, tag=http, user_id=u_Az1ZB3iIQq, user_name=IanAdmin, visitor_auth_limiter_limit=0.016666666666666666, visitor_auth_limiter_tokens=30, visitor_id=ip:192.168.66.3, visitor_ip=192.168.66.3, visitor_messages=0, visitor_messages_limit=17280, visitor_messages_remaining=17280, visitor_request_limiter_limit=0.2, visitor_request_limiter_tokens=43.62386394800002, visitor_seen=2023-06-29T03:16:45.255Z)   2023/06/29 03:16:45 DEBUG HTTP stream connection opened (http_method=GET, http_path=/vikunja/json?poll=1&since=5p60l4JYTnzU, tag=subscribe, user_id=u_Az1ZB3iIQq, user_name=IanAdmin, visitor_auth_limiter_limit=0.016666666666666666, visitor_auth_limiter_tokens=30, visitor_id=ip:192.168.66.3, visitor_ip=192.168.66.3, visitor_messages=0, visitor_messages_limit=17280, visitor_messages_remaining=17280, visitor_request_limiter_limit=0.2, visitor_request_limiter_tokens=41.623875222000024, visitor_seen=2023-06-29T03:16:45.255Z)   2023/06/29 03:16:45 DEBUG HTTP stream connection opened (http_method=GET, http_path=/systems2/json?poll=1&since=VVeQ5lsdmEsr, tag=subscribe, user_id=u_Az1ZB3iIQq, user_name=IanAdmin, visitor_auth_limiter_limit=0.016666666666666666, visitor_auth_limiter_tokens=30, visitor_id=ip:192.168.66.3, visitor_ip=192.168.66.3, visitor_messages=0, visitor_messages_limit=17280, visitor_messages_remaining=17280, visitor_request_limiter_limit=0.2, visitor_request_limiter_tokens=41.62387996460003, visitor_seen=2023-06-29T03:16:45.255Z) 2023/06/29 03:16:45 TRACE HTTP request started (http_method=GET, http_path=/updates/json?poll=1&since=ZFcW4wy4LQS1, http_request=GET /updates/json?poll=1&since=ZFcW4wy4LQS1 HTTP/1.1 Dnt: 1 Accept: */* Accept-Encoding: gzip, deflate, br Accept-Language: en-US,en;q=0.9,zh-CN;q=0.8,zh;q=0.7 X-Forwarded-Scheme: https User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36 Sec-Fetch-Mode: cors Sec-Fetch-Dest: empty X-Forwarded-For: 192.168.66.3 Sec-Ch-Ua-Mobile: ?0 Sec-Ch-Ua-Platform: "Windows" Referer: https://ntfy.[FQDN]/ X-Forwarded-Proto: https Authorization: Bearer tk_zqX4LVEIEvPEDaueWEAavjJhqjDQD Sec-Fetch-Site: same-origin X-Real-Ip: 192.168.66.3 Sec-Ch-Ua: "Not.A/Brand";v="8", "Chromium";v="114", "Google Chrome";v="114", tag=http, user_id=u_Az1ZB3iIQq, user_name=IanAdmin, visitor_auth_limiter_limit=0.016666666666666666, visitor_auth_limiter_tokens=30, visitor_id=ip:192.168.66.3, visitor_ip=192.168.66.3, visitor_messages=0, visitor_messages_limit=17280, visitor_messages_remaining=17280, visitor_request_limiter_limit=0.2, visitor_request_limiter_tokens=41.623975323000025, visitor_seen=2023-06-29T03:16:45.256Z) 2023/06/29 03:16:45 DEBUG HTTP stream connection opened (http_method=GET, http_path=/updates/json?poll=1&since=ZFcW4wy4LQS1, tag=subscribe, user_id=u_Az1ZB3iIQq, user_name=IanAdmin, visitor_auth_limiter_limit=0.016666666666666666, visitor_auth_limiter_tokens=30, visitor_id=ip:192.168.66.3, visitor_ip=192.168.66.3, visitor_messages=0, visitor_messages_limit=17280, visitor_messages_remaining=17280, visitor_request_limiter_limit=0.2, visitor_request_limiter_tokens=40.62399359340002, visitor_seen=2023-06-29T03:16:45.256Z)   2023/06/29 03:16:45 DEBUG HTTP stream connection closed (http_method=GET, http_path=/updates/json?poll=1&since=ZFcW4wy4LQS1, tag=subscribe, user_id=u_Az1ZB3iIQq, user_name=IanAdmin, visitor_auth_limiter_limit=0.016666666666666666, visitor_auth_limiter_tokens=30, visitor_id=ip:192.168.66.3, visitor_ip=192.168.66.3, visitor_messages=0, visitor_messages_limit=17280, visitor_messages_remaining=17280, visitor_request_limiter_limit=0.2, visitor_request_limiter_tokens=40.624132884000026, visitor_seen=2023-06-29T03:16:45.256Z) 2023/06/29 03:16:45 DEBUG HTTP request finished (http_method=GET, http_path=/updates/json?poll=1&since=ZFcW4wy4LQS1, tag=http, time_taken_ms=0, user_id=u_Az1ZB3iIQq, user_name=IanAdmin, visitor_auth_limiter_limit=0.016666666666666666, visitor_auth_limiter_tokens=30, visitor_id=ip:192.168.66.3, visitor_ip=192.168.66.3, visitor_messages=0, visitor_messages_limit=17280, visitor_messages_remaining=17280, visitor_request_limiter_limit=0.2, visitor_request_limiter_tokens=40.62416785000002, visitor_seen=2023-06-29T03:16:45.256Z)   2023/06/29 03:16:45 DEBUG HTTP stream connection closed (http_method=GET, http_path=/systems2/json?poll=1&since=VVeQ5lsdmEsr, tag=subscribe, user_id=u_Az1ZB3iIQq, user_name=IanAdmin, visitor_auth_limiter_limit=0.016666666666666666, visitor_auth_limiter_tokens=30, visitor_id=ip:192.168.66.3, visitor_ip=192.168.66.3, visitor_messages=0, visitor_messages_limit=17280, visitor_messages_remaining=17280, visitor_request_limiter_limit=0.2, visitor_request_limiter_tokens=40.62417713440002, visitor_seen=2023-06-29T03:16:45.256Z) 2023/06/29 03:16:45 DEBUG HTTP request finished (http_method=GET, http_path=/systems2/json?poll=1&since=VVeQ5lsdmEsr, tag=http, time_taken_ms=1, user_id=u_Az1ZB3iIQq, user_name=IanAdmin, visitor_auth_limiter_limit=0.016666666666666666, visitor_auth_limiter_tokens=30, visitor_id=ip:192.168.66.3, visitor_ip=192.168.66.3, visitor_messages=0, visitor_messages_limit=17280, visitor_messages_remaining=17280, visitor_request_limiter_limit=0.2, visitor_request_limiter_tokens=40.624208699600025, visitor_seen=2023-06-29T03:16:45.256Z) 2023/06/29 03:16:45 DEBUG HTTP stream connection opened (http_method=GET, http_path=/test/json?poll=1, tag=subscribe, user_id=u_Az1ZB3iIQq, user_name=IanAdmin, visitor_auth_limiter_limit=0.016666666666666666, visitor_auth_limiter_tokens=30, visitor_id=ip:192.168.66.3, visitor_ip=192.168.66.3, visitor_messages=0, visitor_messages_limit=17280, visitor_messages_remaining=17280, visitor_request_limiter_limit=0.2, visitor_request_limiter_tokens=40.62418569820002, visitor_seen=2023-06-29T03:16:45.256Z) 2023/06/29 03:16:45 DEBUG HTTP stream connection closed (http_method=GET, http_path=/test/json?poll=1, tag=subscribe, user_id=u_Az1ZB3iIQq, user_name=IanAdmin, visitor_auth_limiter_limit=0.016666666666666666, visitor_auth_limiter_tokens=30, visitor_id=ip:192.168.66.3, visitor_ip=192.168.66.3, visitor_messages=0, visitor_messages_limit=17280, visitor_messages_remaining=17280, visitor_request_limiter_limit=0.2, visitor_request_limiter_tokens=40.62426024560002, visitor_seen=2023-06-29T03:16:45.256Z) 2023/06/29 03:16:45 DEBUG HTTP request finished (http_method=GET, http_path=/test/json?poll=1, tag=http, time_taken_ms=2, user_id=u_Az1ZB3iIQq, user_name=IanAdmin, visitor_auth_limiter_limit=0.016666666666666666, visitor_auth_limiter_tokens=30, visitor_id=ip:192.168.66.3, visitor_ip=192.168.66.3, visitor_messages=0, visitor_messages_limit=17280, visitor_messages_remaining=17280, visitor_request_limiter_limit=0.2, visitor_request_limiter_tokens=40.624271841400024, visitor_seen=2023-06-29T03:16:45.256Z) 2023/06/29 03:16:45 DEBUG HTTP stream connection closed (http_method=GET, http_path=/vikunja/json?poll=1&since=5p60l4JYTnzU, tag=subscribe, user_id=u_Az1ZB3iIQq, user_name=IanAdmin, visitor_auth_limiter_limit=0.016666666666666666, visitor_auth_limiter_tokens=30, visitor_id=ip:192.168.66.3, visitor_ip=192.168.66.3, visitor_messages=0, visitor_messages_limit=17280, visitor_messages_remaining=17280, visitor_request_limiter_limit=0.2, visitor_request_limiter_tokens=40.62432026820002, visitor_seen=2023-06-29T03:16:45.256Z) 2023/06/29 03:16:45 DEBUG HTTP request finished (http_method=GET, http_path=/vikunja/json?poll=1&since=5p60l4JYTnzU, tag=http, time_taken_ms=2, user_id=u_Az1ZB3iIQq, user_name=IanAdmin, visitor_auth_limiter_limit=0.016666666666666666, visitor_auth_limiter_tokens=30, visitor_id=ip:192.168.66.3, visitor_ip=192.168.66.3, visitor_messages=0, visitor_messages_limit=17280, visitor_messages_remaining=17280, visitor_request_limiter_limit=0.2, visitor_request_limiter_tokens=40.62432793200002, visitor_seen=2023-06-29T03:16:45.256Z) 2023/06/29 03:16:46 TRACE HTTP request started (http_method=GET, http_path=/, http_request=GET / HTTP/1.1 Dnt: 1 Sec-Fetch-Site: same-origin X-Forwarded-Scheme: https X-Forwarded-For: 192.168.66.3 Sec-Ch-Ua: "Not.A/Brand";v="8", "Chromium";v="114", "Google Chrome";v="114" Sec-Ch-Ua-Mobile: ?0 Sec-Ch-Ua-Platform: "Windows" Accept-Encoding: gzip, deflate, br User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36 Sec-Fetch-Mode: no-cors Sec-Fetch-Dest: empty If-Modified-Since: Thu, 29 Jun 2023 03:04:41 GMT X-Forwarded-Proto: https X-Real-Ip: 192.168.66.3 Accept: */* Accept-Language: en-US,en;q=0.9,zh-CN;q=0.8,zh;q=0.7, tag=http, visitor_auth_limiter_limit=0.016666666666666666, visitor_auth_limiter_tokens=30, visitor_id=ip:192.168.66.3, visitor_ip=192.168.66.3, visitor_messages=0, visitor_messages_limit=17280, visitor_messages_remaining=17280, visitor_request_limiter_limit=0.2, visitor_request_limiter_tokens=40.793662320800024, visitor_seen=2023-06-29T03:16:46.104Z) 2023/06/29 03:16:46 DEBUG HTTP request finished (http_method=GET, http_path=/, tag=http, time_taken_ms=0, visitor_auth_limiter_limit=0.016666666666666666, visitor_auth_limiter_tokens=30, visitor_id=ip:192.168.66.3, visitor_ip=192.168.66.3, visitor_messages=0, visitor_messages_limit=17280, visitor_messages_remaining=17280, visitor_request_limiter_limit=0.2, visitor_request_limiter_tokens=40.79376031340002, visitor_seen=2023-06-29T03:16:46.104Z) 2023/06/29 03:16:46 TRACE HTTP request started (http_method=GET, http_path=/manifest.webmanifest, http_request=GET /manifest.webmanifest HTTP/1.1 Sec-Ch-Ua-Platform: "Windows" X-Forwarded-For: 192.168.66.3 X-Real-Ip: 192.168.66.3 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36 Sec-Fetch-Site: same-origin Sec-Fetch-Dest: empty Accept-Language: en-US,en;q=0.9,zh-CN;q=0.8,zh;q=0.7 Sec-Ch-Ua: "Not.A/Brand";v="8", "Chromium";v="114", "Google Chrome";v="114" X-Forwarded-Scheme: https X-Forwarded-Proto: https Dnt: 1 Sec-Ch-Ua-Mobile: ?0 Accept: */* Sec-Fetch-Mode: cors Referer: https://ntfy.[FQDN]/ Accept-Encoding: gzip, deflate, br, tag=http, visitor_auth_limiter_limit=0.016666666666666666, visitor_auth_limiter_tokens=30, visitor_id=ip:192.168.66.3, visitor_ip=192.168.66.3, visitor_messages=0, visitor_messages_limit=17280, visitor_messages_remaining=17280, visitor_request_limiter_limit=0.2, visitor_request_limiter_tokens=40.793782939000025, visitor_seen=2023-06-29T03:16:46.105Z) 2023/06/29 03:16:46 DEBUG Connection closed with HTTP 404 (ntfy error 40401) (error=page not found, error_code=40401, http_method=GET, http_path=/manifest.webmanifest, http_status=404, tag=http, visitor_auth_limiter_limit=0.016666666666666666, visitor_auth_limiter_tokens=30, visitor_id=ip:192.168.66.3, visitor_ip=192.168.66.3, visitor_messages=0, visitor_messages_limit=17280, visitor_messages_remaining=17280, visitor_request_limiter_limit=0.2, visitor_request_limiter_tokens=40.79386287560003, visitor_seen=2023-06-29T03:16:46.105Z) 2023/06/29 03:16:46 DEBUG HTTP request finished (http_method=GET, http_path=/manifest.webmanifest, tag=http, time_taken_ms=0, visitor_auth_limiter_limit=0.016666666666666666, visitor_auth_limiter_tokens=30, visitor_id=ip:192.168.66.3, visitor_ip=192.168.66.3, visitor_messages=0, visitor_messages_limit=17280, visitor_messages_remaining=17280, visitor_request_limiter_limit=0.2, visitor_request_limiter_tokens=40.79387757240002, visitor_seen=2023-06-29T03:16:46.105Z) 2023/06/29 03:16:46 TRACE HTTP request started (http_method=GET, http_path=/sw.js.map, http_request=GET /sw.js.map HTTP/1.1 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36 X-Forwarded-Scheme: https Connection: close Sec-Fetch-Mode: no-cors X-Real-Ip: 192.168.66.3 Sec-Fetch-Site: same-origin Sec-Fetch-Dest: empty Accept-Encoding: gzip, deflate, br Accept-Language: en-US,en;q=0.9,zh-CN;q=0.8,zh;q=0.7 X-Forwarded-Proto: https X-Forwarded-For: 192.168.66.3, tag=http, visitor_auth_limiter_limit=0.016666666666666666, visitor_auth_limiter_tokens=30, visitor_id=ip:192.168.66.3, visitor_ip=192.168.66.3, visitor_messages=0, visitor_messages_limit=17280, visitor_messages_remaining=17280, visitor_request_limiter_limit=0.2, visitor_request_limiter_tokens=40.81897843280002, visitor_seen=2023-06-29T03:16:46.231Z) 2023/06/29 03:16:46 DEBUG Connection closed with HTTP 404 (ntfy error 40401) (error=page not found, error_code=40401, http_method=GET, http_path=/sw.js.map, http_status=404, tag=http, visitor_auth_limiter_limit=0.016666666666666666, visitor_auth_limiter_tokens=30, visitor_id=ip:192.168.66.3, visitor_ip=192.168.66.3, visitor_messages=0, visitor_messages_limit=17280, visitor_messages_remaining=17280, visitor_request_limiter_limit=0.2, visitor_request_limiter_tokens=40.81899482080002, visitor_seen=2023-06-29T03:16:46.231Z) 2023/06/29 03:16:46 DEBUG HTTP request finished (http_method=GET, http_path=/sw.js.map, tag=http, time_taken_ms=0, visitor_auth_limiter_limit=0.016666666666666666, visitor_auth_limiter_tokens=30, visitor_id=ip:192.168.66.3, visitor_ip=192.168.66.3, visitor_messages=0, visitor_messages_limit=17280, visitor_messages_remaining=17280, visitor_request_limiter_limit=0.2, visitor_request_limiter_tokens=40.81900618260002, visitor_seen=2023-06-29T03:16:46.231Z) 2023/06/29 03:17:06 TRACE No user stats updates to commit (tag=user_manager) 2023/06/29 03:17:06 DEBUG Writing token update queue for 1 token(s) (tag=user_manager) 2023/06/29 03:17:06 TRACE Updating token tk_zqX4LVEIEvPEDaueWEAavjJhqjDQD with last access time 1688008605 (tag=user_manager) ``` </details> :crystal_ball: **Additional context** <!-- Add any other context about the problem here. --> I run ntfy on docker, with http :80 running to Nginx Proxy Manager as my reverse proxy. Docker compose below. In troubleshooting course, I noted PWA manifest has to be served over https, which I am doing. Would this have anything to do with my proxy config? ```yaml version: "2.1" services: ntfy: image: binwiederhier/ntfy:v2.6.1 container_name: ntfy command: - serve environment: - TZ=America/New_York # optional: set desired timezone - NTFY_SMTP_SERVER_LISTEN=:25 - NTFY_SMTP_SERVER_DOMAIN=ntfy.[FQDN] - NTFY_SMTP_SERVER_ADDR_PREFIX=ntfy- - NTFY_LOG_LEVEL=TRACE - NTFY_ENABLE_LOGIN=true - NTFY_ENABLE_SIGNUP=true - NTFY_ENABLE_RESERVATIONS=true - NTFY_AUTH_DEFAULT_ACCESS=deny-all - NTFY_BEHIND_PROXY=true - NTFY_BASE_URL=https://ntfy.[FQDN] user: 1000:1000 volumes: - /data/compose_data/ntfy/var:/var/cache/ntfy - /data/compose_data/ntfy/etc:/etc/ntfy - /data/compose_data/ntfy/var-lib:/var/lib/ntfy ports: # - 8770:80 - 25000:25 restart: unless-stopped networks: - npm networks: npm: external: true ```
BreizhHardware 2026-05-07 00:25:26 +02:00
  • closed this issue
  • added the
    🪲 bug
    label
Author
Owner

@codebude commented on GitHub (Jun 29, 2023):

Same problem on my setup. I use Traefik as reverse proxy in front of Ntfy. I also get the 404 for the /manifest.webmanifest.

<!-- gh-comment-id:1612481221 --> @codebude commented on GitHub (Jun 29, 2023): Same problem on my setup. I use Traefik as reverse proxy in front of Ntfy. I also get the 404 for the `/manifest.webmanifest`.
Author
Owner

@nimbleghost commented on GitHub (Jun 29, 2023):

@hockey6611 @codebude Did you set up the web push config variables? The PWA is not available without them:

https://docs.ntfy.sh/config/#web-push

<!-- gh-comment-id:1612704746 --> @nimbleghost commented on GitHub (Jun 29, 2023): @hockey6611 @codebude Did you set up the web push config variables? The PWA is not available without them: https://docs.ntfy.sh/config/#web-push
Author
Owner

@Havock94 commented on GitHub (Jun 29, 2023):

Had the same problem, I missed the configuration needed to install the PWA. Can confirm the above docs solves the problem.

Just as a note, you should also set the base-url param in server.yml to make it work, as I was getting the following log after just setting the parameters returned from ntfy webpush keys:

if web push is enabled, web-push-private-key, web-push-public-key, web-push-file, web-push-email-address, and base-url should be set. run 'ntfy webpush keys' to generate keys
<!-- gh-comment-id:1612745570 --> @Havock94 commented on GitHub (Jun 29, 2023): Had the same problem, I missed the configuration needed to install the PWA. Can confirm the above docs solves the problem. Just as a note, you should also set the `base-url` param in server.yml to make it work, as I was getting the following log after just setting the parameters returned from `ntfy webpush keys`: ``` if web push is enabled, web-push-private-key, web-push-public-key, web-push-file, web-push-email-address, and base-url should be set. run 'ntfy webpush keys' to generate keys ```
Author
Owner

@codebude commented on GitHub (Jun 29, 2023):

@nimbleghost Yes, adding the webpush config solved it!

Maybe a quick hint in the PWA section of the documentation or in the release notes had would have avoided confusion.

The only thing I wonder: If PWA doesn't work without the web push settings shouldn't then the manifest.webmanifest file be not included in the HTML code at all, instead of linking, but not serving it (which leads to an 404 error).

<!-- gh-comment-id:1613204936 --> @codebude commented on GitHub (Jun 29, 2023): @nimbleghost Yes, adding the webpush config solved it! Maybe a quick hint in the PWA section of the documentation or in the release notes had would have avoided confusion. The only thing I wonder: If PWA doesn't work without the web push settings shouldn't then the manifest.webmanifest file be not included in the HTML code at all, instead of linking, but not serving it (which leads to an 404 error).
Author
Owner

@nimbleghost commented on GitHub (Jun 29, 2023):

The only thing I wonder: If PWA doesn't work without the web push settings shouldn't then the manifest.webmanifest file be not included in the HTML code at all, instead of linking, but not serving it (which leads to an 404 error).

Indeed, though it's a bit tricky to do since the index.html is pre-built and the config is dynamic

<!-- gh-comment-id:1613239013 --> @nimbleghost commented on GitHub (Jun 29, 2023): > The only thing I wonder: If PWA doesn't work without the web push settings shouldn't then the manifest.webmanifest file be not included in the HTML code at all, instead of linking, but not serving it (which leads to an 404 error). Indeed, though it's a bit tricky to do since the `index.html` is pre-built and the config is dynamic
Author
Owner

@hockey6611 commented on GitHub (Jun 29, 2023):

@nimbleghost thank you! PWA now seems to work in my instance.

@codebude

Maybe a quick hint in the PWA section of the documentation or in the release notes had would have avoided confusion.

  • Agreed, would definitely be helpful.

@Havock94

Had the same problem, I missed the configuration needed to install the PWA. Can confirm the above docs solves the problem.

Just as a note, you should also set the base-url param in server.yml to make it work, as I was getting the following log after just setting the parameters returned from ntfy webpush keys:

if web push is enabled, web-push-private-key, web-push-public-key, web-push-file, web-push-email-address, and base-url should be set. run 'ntfy webpush keys' to generate keys

I had the base-url set, but did not set up web-push-email-address on my initial attempt, and I received the same error, and ntfy did not start. So it seems all 5 must be set.

Closing the issue, thank you!

<!-- gh-comment-id:1613293510 --> @hockey6611 commented on GitHub (Jun 29, 2023): @nimbleghost thank you! PWA now seems to work in my instance. @codebude > Maybe a quick hint in the PWA section of the documentation or in the release notes had would have avoided confusion. - Agreed, would definitely be helpful. @Havock94 > Had the same problem, I missed the configuration needed to install the PWA. Can confirm the above docs solves the problem. > > Just as a note, you should also set the `base-url` param in server.yml to make it work, as I was getting the following log after just setting the parameters returned from `ntfy webpush keys`: > > ``` > if web push is enabled, web-push-private-key, web-push-public-key, web-push-file, web-push-email-address, and base-url should be set. run 'ntfy webpush keys' to generate keys > ``` I had the `base-url` set, but did not set up `web-push-email-address` on my initial attempt, and I received the same error, and ntfy did not start. So it seems all 5 _must_ be set. Closing the issue, thank you!
Author
Owner

@binwiederhier commented on GitHub (Jun 30, 2023):

Indeed, though it's a bit tricky to do since the index.html is pre-built and the config is dynamic

I could have sworn I tested this. So the "Install" shows up even when the "web-push-*" stuff is not there? That's not cool..

<!-- gh-comment-id:1614603487 --> @binwiederhier commented on GitHub (Jun 30, 2023): > Indeed, though it's a bit tricky to do since the index.html is pre-built and the config is dynamic I could have sworn I tested this. So the "Install" shows up even when the "web-push-*" stuff is not there? That's not cool..
Author
Owner

@hockey6611 commented on GitHub (Jun 30, 2023):

Indeed, though it's a bit tricky to do since the index.html is pre-built and the config is dynamic

I could have sworn I tested this. So the "Install" shows up even when the "web-push-*" stuff is not there? That's not cool..

No, for me the "Install" did not show up. But the manifest.webmanifest file did show up in the console albeit with the 404 error.

<!-- gh-comment-id:1614719855 --> @hockey6611 commented on GitHub (Jun 30, 2023): > > Indeed, though it's a bit tricky to do since the index.html is pre-built and the config is dynamic > > I could have sworn I tested this. So the "Install" shows up even when the "web-push-*" stuff is not there? That's not cool.. No, for me the "Install" did not show up. But the manifest.webmanifest file did show up in the console albeit with the 404 error.
Author
Owner

@codebude commented on GitHub (Jun 30, 2023):

@binwiederhier Same for me. Install button didn't show up. But from reading the release notes I thought it would show up without any further setup/config. Then I checked Chrome's developer console and saw that the manifest.webmabifest was throwing an HTTP 404 error. Thus I thought it was a bug initially.

<!-- gh-comment-id:1614823054 --> @codebude commented on GitHub (Jun 30, 2023): @binwiederhier Same for me. Install button didn't show up. But from reading the release notes I thought it would show up without any further setup/config. Then I checked Chrome's developer console and saw that the manifest.webmabifest was throwing an HTTP 404 error. Thus I thought it was a bug initially.
Author
Owner

@nimbleghost commented on GitHub (Jun 30, 2023):

I could have sworn I tested this. So the "Install" shows up even when the "web-push-*" stuff is not there? That's not cool..

yeah like they said, just the 404 in the console. would be nice to fix but will require dynamically adding it in the go server.

perhaps we should update the release notes to say config is required, plus add a note to https://docs.ntfy.sh/subscribe/pwa/ saying that the config is needed on self hosted servers

<!-- gh-comment-id:1614885919 --> @nimbleghost commented on GitHub (Jun 30, 2023): > I could have sworn I tested this. So the "Install" shows up even when the "web-push-*" stuff is not there? That's not cool.. yeah like they said, just the 404 in the console. would be nice to fix but will require dynamically adding it in the go server. perhaps we should update the release notes to say config is required, plus add a note to https://docs.ntfy.sh/subscribe/pwa/ saying that the config is needed on self hosted servers
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/ntfy#563
No description provided.