I am attempting to install Channels DVR on Docker, but it keeps restarting. The logs show the following: standard_init_linux.go:211: exec user process caused "exec format error". I can only get it installed with Docker run, but it constantly restarts. If I try to use a yaml file, it give the exec issue and will not install. I have tried with both the latest and tve packages without success.
Are you using a 64-bit docker host?
yes
exec format usually means the binary is for a different architecture. What CPU/OS is the docker host running on?
Ubuntu 20.04 / ARM (it is a Pi version 4)
What does uname -a say?
Linux ubuntu 5.4.0-1018-raspi #20-Ubuntu SMP Sun Sep 6 05:11:16 UTC 2020 aarch64 aarch64 aarch64 GNU/Linux
Ah. I think you may need to run sudo rpi-update
No joy. Its ubuntu, not Raspbian.
I see. Please provide all the log messages printed when first setting up the container.
docker-compose up logs:
Creating channels-dvr ... done
Attaching to channels-dvr
channels-dvr | standard_init_linux.go:211: exec user process caused "exec format error"
channels-dvr exited with code 1
channels-dvr exited with code 1
The container logs shows only this:
{"log":"standard_init_linux.go:211: exec user process caused "exec format error"\n","stream":"stderr","time":"2020-09-23T14:39:00.002164583Z"}
Seems like our Docker is only Intel compatible.
I'd like to add ARM support but I don't know when it will be ready. Also it's not clear if the docker version can use hardware acceleration for transcoding.
understood. I went with a regular install for now.
Any updates on arm support?
I know it's been a wile this question came up but I just did my docker setup recently and my docker image is using hardware or at least it's turned on. Synology DS750+
Any updates on arm64/aarch64 support for the Docker image?
I've built an arm64 Docker image for my Raspberry Pi 4 with TVE support. Hardware transcoding seems to be in working order, the logs indicate it's using the h264_v4l2m2m encoder while watching a channel from my HDHR Prime in the browser. Running it on Ubuntu 20.04 server 64bit along with several other containers and the Pi doesn't break a sweat.
The build file and run script were based off of the official Channels DVR TVE image.
The image: https://hub.docker.com/r/ajvolin/channels-dvr
Repo with the build file and run script: https://github.com/ajvolin/channelsdvr-docker
Thanks for this. My Pi4 is arriving later today, and I was going spend my afternoon putting Fedora on it, and building a container for Channels. You just saved me an extra 30 minutes of trial-and-error.
Although there are no video* devices under Fedora's aarch64 image, I was able to successfully get your container up and running on a Raspberry Pi 4B, using UEFI to boot Fedora 33 aarch64.
For those curious:
podman network create \
--macvlan eth0 \
eth0-macvlan
podman pod create \
--name media \
--network eth0-macvlan \
--hostname media \
--mac-address dc:a6:32:XX:XX:XX
podman create \
--name channels \
--pod media \
--tz America/Los_Angeles \
--user $(id -u media):$(id -g media) \
--umask 0002 \
--restart on-failure:10 \
--volume /srv/channels:/channels-dvr:Z \
--volume /srv/dvr:/dvr:z \
docker.io/ajvolin/channels-dvr:tve-arm64
podman pod start media
I realize this is old, but I installed the container and it only shows software as a transcode option in the GUI. Thoughts?