Image for running embyserver on Rockchip-based platforms.
160
This image is derived from the official emby/embyserver image and relies on nyanmisaka's ffmpeg-rockchip project, as well as the official rockchip-linux/mpp library.
The elecblue/embyserver-rkmpp is an adaptation of emby/embyserver targeting platforms running on Rockchip (arm64) hardware.
After purchasing UGREEN's entry-level NAS (DH2300) on a whim, I quickly learned that its capabilities are restricted (albeit in an artificial and easily bypassed manner) to a small list of basic "apps" provided within the device's app catalog. While UGREEN manufactures much more powerful machines more suitable for running complex software, I knew there was no technical reason to prevent more advanced users from leveraging the features being restricted.
After discovering that the Docker application they provide for their more expensive NAS devices can simply be downloaded from their website and manually installed on the DH2300, so began my quest to turn it into an Emby server (and personal cloud, but that's not the focus here). Configuring and installing the official embyserver image was simple enough, and at first glance it would appear to work perfectly...
That is until I checked Emby's transcoding settings and noticed that there were options missing that I didn't expect to be. To make matters worse, it turns out that the embyserver image does not include the drivers necessary to use the device's RK3576 for hardware acceleration (or anything else, for that matter).
So, I aimed to get this working and do so in a way that could help the handful of other people that might find themselves in the same predicament.
[This section will contain instructions on how to get to the point where this image can be used.]
The following docker-compose should cover the basic configuration of the resulting container:
services:
emby:
image: elecblue/embyserver-rkmpp:latest # Pulls the latest version of the custom Emby Server image
container_name: emby-server-rkmpp # Name of the container (can be changed if desired)
restart: unless-stopped # Restarts server after unintended terminations
environment:
# User/Group IDs for permissions within the container
# These should match the values of your host system, so make sure to update if needed.
- UID=1000
- GID=10
- GIDLIST=10,44,100,105 # Group IDs needed
volumes:
- ./config:/config # Configuration files
- ./metadata:/metadata # Media metadata
- /volume2/media:/media # General media storage path
- /volume2/media/movies:/movies # Movies storage path
- /volume2/media/shows:/shows # TV shows storage path
devices:
- /dev/dri:/dev/dri # Required to use hardware (GPU) acceleration
# Required by nyanmisaka/ffmpeg-rockchip
- /dev/dma_heap:/dev/dma_heap # DMA_HEAP allocator
# - /dev/rga:/dev/rga # RGA device filters
- /dev/mpp_service:/dev/mpp_service # Rockchip MPP codecs
# Optional (used for compatibility with older kernels/SoCs)
# - /dev/iep:/dev/iep # IEP device filters
# - /dev/mpp-service:/dev/mpp-service # Rockchip MPP service
# - /dev/vpu_service:/dev/vpu_service # VPU service
# - /dev/vpu-service:/dev/vpu-service # VPU service
# - /dev/hevc_service:/dev/hevc_service # HEVC service
# - /dev/hevc-service:/dev/hevc-service # HEVC service
# - /dev/rkvdec:/dev/rkvdec # RKV decoders
# - /dev/rkvenc:/dev/rkvenc # RKV encoders
# - /dev/vepu:/dev/vepu # VEPU device filters
ports:
- 8096:8096 # HTTP
- 8920:8920 # HTTPS
Some keys (
volumesespecially) will definitely need to be changed to work with your device, unless of course you want to configure your NAS' storage to match mine.
Now you'll configure your Emby server just as you would on any other device.
This image and its overview is a work-in-progress. Use this at your own risk, especially while this warning is up.
Content type
Image
Digest
sha256:855df150c…
Size
179.3 MB
Last updated
20 days ago
docker pull elecblue/embyserver-rkmpp