Deploying Zixi Products Using ...
How to Deploy Zixi Broadcaster...
Appendix A - dockerfile_zixi_broadcaster.txt
1 min
\# get ubuntu 20 04 docker image from arm64v8/ubuntu\ focal \# below required for videon docker environment run groupadd g 3003 aid inet && usermod g nogroup g aid inet apt run groupadd g 3004 net raw && usermod g net raw root arg debian frontend=noninteractive env tz=america/los angeles \# variables edit me with proper version env zixiversion 16 3 44466 \# install necessary linux packages run apt update assume yes \# minimal required packages below run apt get assume yes install tzdata ntp ethtool policycoreutils snmp wireless tools net tools dmidecode openssh client iproute2 ipcalc xz utils \# tzdata for time zone definitions \# ntp for ntp command \# ethtool for /etc/network/interfaces file \# policycoreutils for restorecon command \# snmp for snmpget command \# wireless tools for iwconfig command \# net tools for ifconfig command \# dmidecode for dmidecode command \# openssh client for ssh commmand \# iproute2 for ip command \# ipcalc for ipcalc command \#run apt get assume yes install tzdata policycoreutils inetutils ping wireless tools iptables ipcalc isc dhcp client dmidecode wakeonlan apt utils net tools snmp iproute2 ethtool ntp util linux sysvinit utils openssh client openssh server vim \# following packages not be available to use in the ubuntu 20 04 docker env \# network manager rsyslog snmpd systemctl run service ntp start \# ubuntu focal fossa comes with the folder, but without the file run touch /etc/network/interfaces run restorecon v /etc/network/interfaces \# copy zixi installer to new image and extract files copy zixi broadcaster ${zixiversion} raspberry tar xz run tar xvf zixi broadcaster ${zixiversion} raspberry tar xz \# copy files to proper folder no systemd in docker so need /debian/ scripts not /debian8/ run cp /zixi broadcaster raspberry/scripts/debian/ /zixi broadcaster raspberry/ \# create link to executable with no version for entrypoint command run ln s /zixi broadcaster raspberry/zixi broadcaster ${zixiversion} /zixi broadcaster raspberry/zixi broadcaster \# informs docker that the container listens on the specified ports \# these are relevant ports for broadcaster but some may not be necessary depending on use case \# ports that will be used need to published upon running the image for bridged mode \# some other ports may need to be added for rtp/udp streams \# web management ui, http protocol expose 4444/tcp \# feeder push to broadcaster, zixi protocol expose 2088/udp \# feeder push to broadcaster, zixi protocol with dtls expose 7088/udp \# receiver pull from broadcaster, zixi protocol expose 2077/udp \# receiver pull from broadcaster, zixi protocol with dtls expose 7077/udp \# encoder push to broadcaster, rtmp protocol expose 1935/tcp \# http streaming protocol hls or dash when broadcaster is origin server expose 7777/tcp \# create logs folder run mkdir /zixi broadcaster raspberry/logs \# create configs folder run mkdir /zixi broadcaster raspberry/configs \# preinstall a config file setting logs to be stored at zixi broadcaster raspberry/logs \# put it in the configs folders and then symlink it to the location the broadcaster is expecting \# other settings for default behavior could be added to the config file as well run ln s /zixi broadcaster raspberry/configs/broadcaster config xml /zixi broadcaster raspberry \# create the license file in the configs folder and symlink to the location the broadcaster is expecting run ln s /zixi broadcaster raspberry/configs/broadcaster lic /zixi broadcaster raspberry \# create the info file in the configs folder and symlink to the location the broadcaster is expecting run ln s /zixi broadcaster raspberry/configs/broadcaster info xml /zixi broadcaster raspberry \# set final working directory workdir /zixi broadcaster raspberry \# set the executable to start when the container is run entrypoint \[" /zixi broadcaster", " no daemon"]