Shinyproxy Kubernetes: `favicon-path` issues

SPO 2.2.0
SP 3.2.0

Using favicon-path: /mnt/favicon.svg results in

2025-07-28T15:04:52.999Z  WARN 1 --- [  XNIO-1 task-6] e.o.containerproxy.ui.FaviconController  : Error while reading favicon /mnt/favicon.svg: not a regular file 

Even though the file exists in the app pod which is spawned by the SP instance.
What am I doing wrong here? The favicon must exist in the respective app pod, doesn’t it?

(maybe related to ShinyProxy Favicon Not Showing, even though there it was about docker.)

Hi @pat-s,

How did you add the favicon to the shinyproxy container? Previously tried to mount it into the pod but that doesn’t seem to work so I rebuild the container and added the favicon.

Also check if your favicon has the correct format as described here

You can verify that by running: file /path/to/your/favicon.svg

1 Like

As mentioned in my OP: I built it into the app image at the given path.
I of course verified that it exists before opening this topic.

I hope it doesn’t need to go into the shinyproxy container as this would mean that the image would need to contain the favicons of all apps.

Hi

The favicon must be placed inside the ShinyProxy container. There are a two reasons for this:

  • it’s difficult (and slow) for ShinyProxy to fetch a file from a container, especially with the different container backends.
  • the favicon is already shown before the container is started, e.g. when the app is still starting up. Therefore, ShinyProxy cannot fetch the favicon from the container yet. It would also be difficult to update the favicon once the container has loaded.

I understand that it’s useful to ship the favicon with the app itself, but as explained shipping it in the image would create other problems.
We are open for any idea for an alternative way to ship the favicon!

Thanks for your reply!

I got it working via extra volumeMounts into the SP pod using configMaps.

I think the documentation could be improved on this, as there isn’t much info about the favicon part besides the favicon-path settings field. Especially in k8s this might lead to confusion as one might intuitively think that each app pod must be self-contained and hence also contain its favicon.