Skip to content

Favicon/ PWA manifest (?) issue with 2.1.0Β #6902

@cyrq

Description

@cyrq

πŸ“‘ I have found these related issues/pull requests

Couldn't find a similar issue.

πŸ›‘οΈ Security Policy

πŸ“ Description

Hi,

something has changed with how Uptime Kuma servers custom icons/ favicons on publicly exposed (via cloudflared + custom domain) status pages.
The first time you load the page it loads the favicon(s) just fine. After a refresh it shows the default set. Clearing the cache and reloading the page repeats the issue.
Accessing the status page (locally) and inspecting it shows:

<link rel="icon" href="/upload/logo1.png?t=1770715343737">
--
<link rel="manifest" href="/api/status-page/statuspagename/manifest.json">

manifest.json is correct.

Inspecting the publicly accessible status page via domain name:

<link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png">
<link rel="icon" type="image/svg+xml" href="/icon.svg" />
<link rel="manifest" href="/manifest.json" />

and the manifest.json contents:

{
    "name": "Uptime Kuma",
    "short_name": "Uptime Kuma",
    "description": "An easy-to-use self-hosted monitoring tool.",
    "theme_color": "#5cdd8b",
    "start_url": "/",
    "background_color": "#fff",
    "display": "standalone",
    "icons": [
        {
            "src": "icon-192x192.png",
            "sizes": "192x192",
            "type": "image/png"
        },
        {
            "src": "icon-512x512.png",
            "sizes": "512x512",
            "type": "image/png"
        }
    ],
    "shortcuts": [
        {
            "name": "Dashboard",
            "short_name": "Dashboard",
            "description": "View monitoring dashboard",
            "url": "/dashboard",
            "icons": [
                {
                    "src": "icon-192x192.png",
                    "sizes": "192x192",
                    "type": "image/png"
                }
            ]
        },
        {
            "name": "Add Monitor",
            "short_name": "Add Monitor",
            "description": "Add a new monitor",
            "url": "/add",
            "icons": [
                {
                    "src": "icon-192x192.png",
                    "sizes": "192x192",
                    "type": "image/png"
                }
            ]
        },
        {
            "name": "Monitor List",
            "short_name": "List",
            "description": "View all monitors",
            "url": "/list",
            "icons": [
                {
                    "src": "icon-192x192.png",
                    "sizes": "192x192",
                    "type": "image/png"
                }
            ]
        },
        {
            "name": "Settings",
            "short_name": "Settings",
            "description": "Open settings",
            "url": "/settings",
            "icons": [
                {
                    "src": "icon-192x192.png",
                    "sizes": "192x192",
                    "type": "image/png"
                }
            ]
        },
        {
            "name": "Maintenance",
            "short_name": "Maintenance",
            "description": "Manage maintenance windows",
            "url": "/maintenance",
            "icons": [
                {
                    "src": "icon-192x192.png",
                    "sizes": "192x192",
                    "type": "image/png"
                }
            ]
        }
    ]
}

This wasn't an issue on 2.0.x

πŸ‘Ÿ Reproduction steps

Configure a reverse proxy using Cloudlare: https://github.com/louislam/uptime-kuma/wiki/Reverse-Proxy-with-Cloudflare-Tunnel
Configure a domain name for the status page: https://github.com/louislam/uptime-kuma/wiki/Status-Page

πŸ‘€ Expected behavior

Uptime Kuma should show the custom logo as favicon(s)/ icon(s).

πŸ˜“ Actual Behavior

Uptime Kuma reverts to it's default favicon(s)/ icon(s).

🐻 Uptime-Kuma Version

2.1.0

πŸ’» Operating System and Arch

Linux raspberrypi 6.12.62+rpt-rpi-v8 #1 SMP PREEMPT Debian 1:6.12.62-1+rpt1~bookworm (2026-01-19) aarch64 GNU/Linux

🌐 Browser

Google Chrome 144.0.7559.133 (Official Build) (64-bit)

πŸ–₯️ Deployment Environment

  • Runtime Environment:
    • Docker: Version 29.2.0
    • Docker Compose: Version 5.0.2
  • Database:
    • SQLite: Embedded
  • Database Storage:
    • Filesystem:
      • Linux: ext4
    • Storage Medium: SSD
  • Uptime Kuma Setup:
    • Number of monitors: 20

πŸ“ Relevant log output

No relevant log output for this issue.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions