Jellyfin Forum
Guide: Running Jellyfin in Synology's DSM 7 Using Docker Compose - Printable Version

+- Jellyfin Forum (https://forum.jellyfin.org)
+-- Forum: Support (https://forum.jellyfin.org/f-support)
+--- Forum: Guides, Walkthroughs & Tutorials (https://forum.jellyfin.org/f-guides-walkthroughs-tutorials)
+--- Thread: Guide: Running Jellyfin in Synology's DSM 7 Using Docker Compose (/t-guide-running-jellyfin-in-synology-s-dsm-7-using-docker-compose)

Pages: 1 2 3


RE: Guide: Running Jellyfin in Synology's DSM 7 Using Docker Compose - scavenger1801 - 2025-03-01

Thanks for putting this guide together!  I'm working through this (just updated my DS918+ to DSM 7.2.2).  Now I'm working on the yaml file.

I noticed this thread is a bit old.  Have you made any updates to your yaml file that make things run smoother since you first created this?  I assume still no fix for HDR (I don't have a lot of HDR content so I don't care too much) but would love a fix if there is one.

Also with this setup what is the easiest/most efficient way to update Jellyfin moving forward?


RE: Guide: Running Jellyfin in Synology's DSM 7 Using Docker Compose - Efficient_Good_5784 - 2025-03-01

(2025-03-01, 07:18 AM)scavenger1801 Wrote: Have you made any updates to your yaml file that make things run smoother since you first created this?
No. The platform as a whole (Jellyfin and Synology) have been stable enough where no changes have been needed since I installed Jellyfin.

I actually migrated my Jellyfin server to another machine with better hardware.
That's the only guaranteed way you can get better/smoother performance.

I did have my DS920+ acting as a backup Jellyfin server. I would rsync my main Jellyfin config folder to the Synology NAS.
I then added a script through Synology's GUI that modified some config files to disable scheduled tasks before starting the container with the updated config folder (no use in doing the work my main Jellyfin server already did).
I finally retired the DS920+ since I built another PC to mirror my main custom server.

Being frank, Synology units do fine for data storage and access. However, they're a bit underpowered for something like Jellyfin due to the CPU choice and very low amount of pre-installed RAM.
If your Synology unit has an iGPU, it works fine. Just don't expect stellar performance with Jellyfin.
I would also recommend to avoid running lots of apps/containers at once as it will put a damper on your NAS's performance. Especially since everything runs off of the HDDs on a Synology (OS and all), which means everything is competing for the limited I/O of the HDDs.

(2025-03-01, 07:18 AM)scavenger1801 Wrote: I assume still no fix for HDR (I don't have a lot of HDR content so I don't care too much) but would love a fix if there is one.
I believe something is in the works for HDR that will finally make it work properly with Synology units.
Still, the blame here is on Synology not updating their Linux kernel.

(2025-03-01, 07:18 AM)scavenger1801 Wrote: Also with this setup what is the easiest/most efficient way to update Jellyfin moving forward?

If you're using the "latest" tag for the Docker image, all you have to do is stop and rebuild the project to recreate the container with the newest image.
I personally specify a specific image tag. So I just stop the project, then edit the tag to be the newest tag, and rebuild.

Just make sure to always make a backup of the config folder in case you don't like what a new version does.


RE: Guide: Running Jellyfin in Synology's DSM 7 Using Docker Compose - Goby - 2025-03-09

(2025-03-01, 07:18 AM)scavenger1801 Wrote: Also with this setup what is the easiest/most efficient way to update Jellyfin moving forward?


Quote:
If you're using the "latest" tag for the Docker image, all you have to do is stop and rebuild the project to recreate the container with the newest image.
I personally specify a specific image tag. So I just stop the project, then edit the tag to be the newest tag, and rebuild.

Just make sure to always make a backup of the config folder in case you don't like what a new version does.

Actually with the Container Manager of DSM, you can go directly to 'Image" section and hit "Update". Container manager will stop automatically the package and perform the update. As long as you followed this Guide (Chache and config repo created in the docker repo) there is nothing to do.


RE: Guide: Running Jellyfin in Synology's DSM 7 Using Docker Compose - Fahid sarker - 2025-07-31

I am struggeling to get HWA Transcoding to work on a ds225+ -> Intel J4125 (with should be able to handle any transcoding efficiently). Instead when I enable HWA, it gives an error: Playback failed due to a fatal error. I tried all the hacks on reddit but failed. Here is a portion of the log:


ffmpeg version 7.0.2-Jellyfin Copyright © 2000-2024 the FFmpeg developers
built with gcc 12 (Debian 12.2.0-14)
configuration: --prefix=/usr/lib/jellyfin-ffmpeg --target-os=linux --extra-version=Jellyfin --disable-doc --disable-ffplay --disable-ptx-compression --disable-static --disable-libxcb --disable-sdl2 --disable-xlib --enable-lto=auto --enable-gpl --enable-version3 --enable-shared --enable-gmp --enable-gnutls --enable-chromaprint --enable-opencl --enable-libdrm --enable-libxml2 --enable-libass --enable-libfreetype --enable-libfribidi --enable-libfontconfig --enable-libharfbuzz --enable-libbluray --enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvorbis --enable-libopenmpt --enable-libdav1d --enable-libsvtav1 --enable-libwebp --enable-libvpx --enable-libx264 --enable-libx265 --enable-libzvbi --enable-libzimg --enable-libfdk-aac --arch=amd64 --enable-libshaderc --enable-libplacebo --enable-vulkan --enable-vaapi --enable-amf --enable-libvpl --enable-ffnvcodec --enable-cuda --enable-cuda-llvm --enable-cuvid --enable-nvdec --enable-nvenc
libavutil 59. 8.100 / 59. 8.100
libavcodec 61. 3.100 / 61. 3.100
libavformat 61. 1.100 / 61. 1.100
libavdevice 61. 1.100 / 61. 1.100
libavfilter 10. 1.100 / 10. 1.100
libswscale 8. 1.100 / 8. 1.100
libswresample 5. 1.100 / 5. 1.100
libpostproc 58. 1.100 / 58. 1.100
libva info: VA-API version 1.22.0
libva info: Trying to open /usr/lib/jellyfin-ffmpeg/lib/dri/iHD_drv_video.so
libva info: Found init function __vaDriverInit_1_22
libva info: va_openDriver() returns 0
Input #0, matroska,webm, from 'fileConfused-facemedia/Movies/Animations/Wish Dragon (2021) Hindi Dubbed (5.1 DD) [Dual Audio] Web-DL 720p/Wish Dragon (2021) Hindi Dubbed (5.1 DD) [Dual Audio] Web-DL 720p.mkv':
Metadata:
encoder : libebml v1.4.1 + libmatroska v1.6.2
creation_time : 2021-06-11T08:04:33.000000Z
Duration: 01:42:23.78, start: 0.000000, bitrate: 1402 kb/s
Stream #0:0(eng): Video: h264 (High), yuv420p(progressive), 1280x682 [SAR 1023:1024 DAR 15:8], SAR 1279:1280 DAR 1279:682, 23.98 fps, 23.98 tbr, 1k tbn (default)
Metadata:
title : KatmovieHD.sx
BPS-eng : 1149723
DURATION-eng : 01:42:13.461000000
NUMBER_OF_FRAMES-eng: 147056
NUMBER_OF_BYTES-eng: 881472989
_STATISTICS_WRITING_APP-eng: mkvmerge v52.0.0 ('Secret For The Mad') 64-bit
_STATISTICS_WRITING_DATE_UTC-eng: 2021-06-11 08:04:33
_STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
Stream #0:1(hin): Audio: aac (HE-AAC), 48000 Hz, 5.1, fltp (default) (forced)
Metadata:
title : KatmovieHD.sx
BPS-eng : 128000
DURATION-eng : 01:42:23.776000000
NUMBER_OF_FRAMES-eng: 143995
NUMBER_OF_BYTES-eng: 98300587
_STATISTICS_WRITING_APP-eng: mkvmerge v52.0.0 ('Secret For The Mad') 64-bit
_STATISTICS_WRITING_DATE_UTC-eng: 2021-06-11 08:04:33
_STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
Stream #0:2(eng): Audio: aac (LC), 48000 Hz, stereo, fltp
Metadata:
title : KatmovieHD.sx
BPS-eng : 123485
DURATION-eng : 01:42:23.573000000
NUMBER_OF_FRAMES-eng: 287980
NUMBER_OF_BYTES-eng: 94830143
_STATISTICS_WRITING_APP-eng: mkvmerge v52.0.0 ('Secret For The Mad') 64-bit
_STATISTICS_WRITING_DATE_UTC-eng: 2021-06-11 08:04:33
_STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
Stream #0:3(eng): Subtitle: subrip (srt) (default)
Metadata:
title : KatmovieHD.sx
BPS-eng : 69
DURATION-eng : 01:32:36.068000000
NUMBER_OF_FRAMES-eng: 1584
NUMBER_OF_BYTES-eng: 48352
_STATISTICS_WRITING_APP-eng: mkvmerge v52.0.0 ('Secret For The Mad') 64-bit
_STATISTICS_WRITING_DATE_UTC-eng: 2021-06-11 08:04:33
_STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
Stream mapping:
Stream #0:0 -> #0:0 (h264 (native) -> h264 (h264_qsv))
Stream #0:1 -> #0:1 (aac (native) -> aac (libfdk_aac))
Press [q] to stop, [?] for help
[h264 @ 0x55c806cf9a40] No support for codec h264 profile 100.
[h264 @ 0x55c806cf9a40] Failed setup for format vaapi: hwaccel initialisation returned error.
Impossible to convert between the formats supported by the filter 'Parsed_setparams_0' and the filter 'auto_scale_0'
[vf#0:0 @ 0x55c806c6b0c0] Error reinitializing filters!
[vf#0:0 @ 0x55c806c6b0c0] Task finished with error code: -38 (Function not implemented)
[vf#0:0 @ 0x55c806c6b0c0] Terminating thread with return code -38 (Function not implemented)
[vost#0:0/h264_qsv @ 0x55c806cd3500] Could not open encoder before EOF
[vost#0:0/h264_qsv @ 0x55c806cd3500] Task finished with error code: -22 (Invalid argument)
[vost#0:0/h264_qsv @ 0x55c806cd3500] Terminating thread with return code -22 (Invalid argument)
[out#0/hls @ 0x55c806c7c000] Nothing was written into output file, because at least one of its streams received no packets.
frame= 0 fps=0.0 q=0.0 Lsize= 0KiB time=N/A bitrate=N/A speed=N/A
Conversion failed!



RE: Guide: Running Jellyfin in Synology's DSM 7 Using Docker Compose - pxr5 - 2025-07-31

I think you may have a problem with an x25 Synology NAS:

https://www.reddit.com/r/synology/comments/1mdkbrc/has_x25_broken_plex_transcoding/


RE: Guide: Running Jellyfin in Synology's DSM 7 Using Docker Compose - Fahid sarker - 2025-08-01

I guess you are right. sad :-(


RE: Guide: Running Jellyfin in Synology's DSM 7 Using Docker Compose - gizmomelb - 2025-09-02

Going slightly off topic, but still aligned with it - has anyone found an easy to use / understand guide on setting up Caddy in a docker under DSM please? I've tried using the DSM reverse proxy / ssl security and could not get it to work. I've also tried duckdns (which is currently offline) for my public DNS (which I don't need as I'm on a static WAN, I really just want to implement HTTPS encryption on all traffic to and from my jellyfin instance). Thank you.
btw: I'm using an 'emulated' synology SA6400 which has a newer linux kernel - tone mapping seems to work fine for me under an intel n5095 iGPU).