Jellyfin Docker /metrics not working #7000

Closed
opened 2026-02-07 04:23:08 +03:00 by OVERLORD · 2 comments
Owner

Originally created by @frankvoelker on GitHub (May 10, 2025).

Description of the bug

Using the recent Jellyfin server in Docker (compose) as described here:

https://jellyfin.org/docs/general/installation/container/

I found the system.xml file in my mounted folder and changed

<EnableMetrics>false</EnableMetrics>

to

<EnableMetrics>true</EnableMetrics>

I restarted docker container multiple times. But /metrics endpoint always gives 404 and no metrics.

Reproduction steps

  1. setup jellyfin in docker compose
  2. start it once to make your bind mounts populate config files
  3. change system.xml value EnableMetrics to true
  4. restart container
  5. also restart jellyfin from Dashboard "Restart" Button
  6. try to curl jellyserver/metrics

What is the current bug behavior?

root@jellyserver:/home/jelly# curl -i http://127.0.0.1:8096/metrics
HTTP/1.1 404 Not Found
Content-Length: 0
Date: Sat, 10 May 2025 17:45:27 GMT
Server: Kestrel
X-Response-Time-ms: 0.1178

What is the expected correct behavior?

/metrics endpoint should give metrics

Jellyfin Server version

10.10.0+

Specify commit id

No response

Specify unstable release number

No response

Specify version number

No response

Specify the build version

10.10.6

Environment

- OS: Debian 12
- Linux Kernel:
- Virtualization: Docker
- Clients: Browser/Mac/Windows
- Browser: Firefox
- FFmpeg Version:
- Playback Method:
- Hardware Acceleration:
- GPU Model:
- Plugins:
- Reverse Proxy:
- Base URL:
- Networking:
- Storage:

Jellyfin logs

[2025-05-10 17:51:38.806 +00:00] [INF] [57] MediaBrowser.MediaEncoding.Encoder.MediaEncoder: Available hwaccel types: ["cuda", "vaapi", "qsv", "drm", "opencl", "vulkan"]
[2025-05-10 17:51:41.061 +00:00] [INF] [57] MediaBrowser.MediaEncoding.Encoder.MediaEncoder: FFmpeg: "/usr/lib/jellyfin-ffmpeg/ffmpeg"
[2025-05-10 17:51:41.061 +00:00] [INF] [57] Emby.Server.Implementations.ApplicationHost: ServerId: "94664d516423416782590b8eaed0192a"
[2025-05-10 17:51:41.061 +00:00] [INF] [57] Emby.Server.Implementations.ApplicationHost: Core startup complete
[2025-05-10 17:51:41.061 +00:00] [INF] [57] Main: Startup complete 0:00:04.4974121
[2025-05-10 17:51:41.249 +00:00] [INF] [63] Emby.Server.Implementations.ScheduledTasks.TaskManager: "Räume Transkodierungs-Verzeichnis auf" Completed after 0 minute(s) and 0 seconds
[2025-05-10 17:51:41.292 +00:00] [INF] [64] Emby.Server.Implementations.ScheduledTasks.TaskManager: "Sammlungen und Playlisten aufräumen" Completed after 0 minute(s) and 0 seconds
[2025-05-10 17:51:41.759 +00:00] [INF] [57] Emby.Server.Implementations.ScheduledTasks.TaskManager: "Aktualisiere Plugins" Completed after 0 minute(s) and 0 seconds
[2025-05-10 17:51:45.140 +00:00] [INF] [48] Emby.Server.Implementations.HttpServer.WebSocketManager: WS "192.168.110.238" request

FFmpeg logs


Client / Browser logs

No response

Relevant screenshots or videos

No response

Additional information


root@DXP4800PLUS-C397:/volume2/jelly/config# docker exec -it 7de1dd9ce2d9 cat /config/system.xml | grep -i "metric"
  <EnableMetrics>true</EnableMetrics>


root@DXP4800PLUS-C397:/volume2/jelly/config# curl -i http://127.0.0.1:8096/health
HTTP/1.1 200 OK
Content-Type: text/plain
Date: Sat, 10 May 2025 17:58:45 GMT
Server: Kestrel
Cache-Control: no-store, no-cache
Expires: Thu, 01 Jan 1970 00:00:00 GMT
Pragma: no-cache
Transfer-Encoding: chunked
X-Response-Time-ms: 0.4531

Healthyroot@DXP4800PLUS-C397:/volume2/jelly/config# curl -i http://127.0.0.1:8096/metrics
HTTP/1.1 404 Not Found
Content-Length: 0
Date: Sat, 10 May 2025 17:58:56 GMT
Server: Kestrel
X-Response-Time-ms: 0.1215



Originally created by @frankvoelker on GitHub (May 10, 2025). ### Description of the bug Using the recent Jellyfin server in Docker (compose) as described here: https://jellyfin.org/docs/general/installation/container/ I found the system.xml file in my mounted folder and changed `<EnableMetrics>false</EnableMetrics>` to `<EnableMetrics>true</EnableMetrics>` I restarted docker container multiple times. But /metrics endpoint always gives 404 and no metrics. ### Reproduction steps 1. setup jellyfin in docker compose 2. start it once to make your bind mounts populate config files 3. change system.xml value `EnableMetrics` to true 4. restart container 5. also restart jellyfin from Dashboard "Restart" Button 6. try to curl jellyserver/metrics ### What is the current _bug_ behavior? ``` root@jellyserver:/home/jelly# curl -i http://127.0.0.1:8096/metrics HTTP/1.1 404 Not Found Content-Length: 0 Date: Sat, 10 May 2025 17:45:27 GMT Server: Kestrel X-Response-Time-ms: 0.1178 ``` ### What is the expected _correct_ behavior? /metrics endpoint should give metrics ### Jellyfin Server version 10.10.0+ ### Specify commit id _No response_ ### Specify unstable release number _No response_ ### Specify version number _No response_ ### Specify the build version 10.10.6 ### Environment ```markdown - OS: Debian 12 - Linux Kernel: - Virtualization: Docker - Clients: Browser/Mac/Windows - Browser: Firefox - FFmpeg Version: - Playback Method: - Hardware Acceleration: - GPU Model: - Plugins: - Reverse Proxy: - Base URL: - Networking: - Storage: ``` ### Jellyfin logs ```shell [2025-05-10 17:51:38.806 +00:00] [INF] [57] MediaBrowser.MediaEncoding.Encoder.MediaEncoder: Available hwaccel types: ["cuda", "vaapi", "qsv", "drm", "opencl", "vulkan"] [2025-05-10 17:51:41.061 +00:00] [INF] [57] MediaBrowser.MediaEncoding.Encoder.MediaEncoder: FFmpeg: "/usr/lib/jellyfin-ffmpeg/ffmpeg" [2025-05-10 17:51:41.061 +00:00] [INF] [57] Emby.Server.Implementations.ApplicationHost: ServerId: "94664d516423416782590b8eaed0192a" [2025-05-10 17:51:41.061 +00:00] [INF] [57] Emby.Server.Implementations.ApplicationHost: Core startup complete [2025-05-10 17:51:41.061 +00:00] [INF] [57] Main: Startup complete 0:00:04.4974121 [2025-05-10 17:51:41.249 +00:00] [INF] [63] Emby.Server.Implementations.ScheduledTasks.TaskManager: "Räume Transkodierungs-Verzeichnis auf" Completed after 0 minute(s) and 0 seconds [2025-05-10 17:51:41.292 +00:00] [INF] [64] Emby.Server.Implementations.ScheduledTasks.TaskManager: "Sammlungen und Playlisten aufräumen" Completed after 0 minute(s) and 0 seconds [2025-05-10 17:51:41.759 +00:00] [INF] [57] Emby.Server.Implementations.ScheduledTasks.TaskManager: "Aktualisiere Plugins" Completed after 0 minute(s) and 0 seconds [2025-05-10 17:51:45.140 +00:00] [INF] [48] Emby.Server.Implementations.HttpServer.WebSocketManager: WS "192.168.110.238" request ``` ### FFmpeg logs ```shell ``` ### Client / Browser logs _No response_ ### Relevant screenshots or videos _No response_ ### Additional information ``` root@DXP4800PLUS-C397:/volume2/jelly/config# docker exec -it 7de1dd9ce2d9 cat /config/system.xml | grep -i "metric" <EnableMetrics>true</EnableMetrics> root@DXP4800PLUS-C397:/volume2/jelly/config# curl -i http://127.0.0.1:8096/health HTTP/1.1 200 OK Content-Type: text/plain Date: Sat, 10 May 2025 17:58:45 GMT Server: Kestrel Cache-Control: no-store, no-cache Expires: Thu, 01 Jan 1970 00:00:00 GMT Pragma: no-cache Transfer-Encoding: chunked X-Response-Time-ms: 0.4531 Healthyroot@DXP4800PLUS-C397:/volume2/jelly/config# curl -i http://127.0.0.1:8096/metrics HTTP/1.1 404 Not Found Content-Length: 0 Date: Sat, 10 May 2025 17:58:56 GMT Server: Kestrel X-Response-Time-ms: 0.1215 ```
OVERLORD added the bug label 2026-02-07 04:23:08 +03:00
Author
Owner

@gnattu commented on GitHub (May 10, 2025):

I'm unable to reproduce. Can you check it again, where the config path printed during the server bootup is indeed the one you mounted?

@gnattu commented on GitHub (May 10, 2025): I'm unable to reproduce. Can you check it again, where the config path printed during the server bootup is indeed the one you mounted?
Author
Owner

@frankvoelker commented on GitHub (May 10, 2025):

Oh my ... you are right. something messed up my mounts and now I have /config/system.xml and /config/config/system.xml .... dont know what happened there. sorry. I will close this

@frankvoelker commented on GitHub (May 10, 2025): Oh my ... you are right. something messed up my mounts and now I have /config/system.xml and /config/config/system.xml .... dont know what happened there. sorry. I will close this
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/jellyfin#7000