Appendix A - dockerfile_zixi_broadcaster.txt

# Get CentOS 7 Docker image FROM centos:7 # Variables – EDIT ME WITH CORRECT VERSION ENV zixiversion 13.1.38986 # Copy Zixi installer to new image and extract files COPY zixi_broadcaster- ${zixiversion}.tar.gz . RUN tar -xvf zixi_broadcaster- ${zixiversion}.tar.gz # Copy files to proper folder RUN cp /zixi_broadcaster-centos7-transcoder/scripts/centos7/* /zixi_broadcaster-centos7-transcoder/ # Create link to executable with no version for ENTRYPOINT command RUN ln -s /zixi_broadcaster-centos7-transcoder/zixi_broadcaster-${zixiversion} /zixi_broadcaster-centos7-transcoder/zixi_broadcaster # Install necessary Linux packages RUN yum update -y RUN yum install -y net-tools net-snmp-utils iproute ethtool ntp initscripts openssh openssh-clients openssh-server # 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 # Sample port range for UDP input to Broadcaster, application dependent EXPOSE 10000-19999/UDP # Sample port range for web management UI, application dependent EXPOSE 20000-29999/TCP # Preinstall a config file setting logs to be stored at zixi_broadcaster-centos7-transcoder/logs # Other settings for default behavior could be added to the config file as well COPY broadcaster-config-template.xml zixi_broadcaster-centos7-transcoder/broadcaster-config.xml # Create logs folder WORKDIR /zixi_broadcaster-centos7-transcoder/logs # Set final working directory WORKDIR /zixi_broadcaster-centos7-transcoder # Set the executable to start when the container is run ENTRYPOINT ["./zixi_broadcaster", "--no-daemon"]