Deploying Zixi Products Using ...
How to Deploy Zixi Broadcaster...
Appendix A - dockerfile_zixi_broadcaster.txt
2min
Bash
1# Get CentOS 7 Docker image
2FROM centos:7
3# Variables EDIT ME WITH PROPER VERSION
4ENV zixiversion 16.4.44543
5# Copy Zixi installer to new image and extract files
6COPY zixi_broadcaster-${zixiversion}.linux64.tar.xz .
7RUN tar -xvf zixi_broadcaster-${zixiversion}.linux64.tar.xz
8# Copy files to proper folder
9RUN cp /zixi_broadcaster-linux64/scripts/centos7/* /zixi_broadcaster-linux64/
10# Create link to executable with no version for ENTRYPOINT command
11RUN ln -s /zixi_broadcaster-linux64/zixi_broadcaster-${zixiversion} /zixi_broadcaster-linux64/zixi_broadcaster
12# Disable firewall
13RUN systemctl mask firewalld
14# Install/uninstall necessary Linux packages
15RUN yum update -y
16RUN yum install -y net-tools net-snmp-utils iproute ethtool ntp initscripts openssh openssh-clients openssh-server
17# Informs Docker that the container listens on the specified ports
18# These are relevant ports for Broadcaster but some may not be necessary depending on use case
19# Ports that will be used need to published upon running the image for bridged mode
20# Some other ports may need to be added for RTP/UDP streams.
21# Web management UI, HTTP protocol
22EXPOSE 4444/TCP
23# Feeder push to Broadcaster, Zixi protocol
24EXPOSE 2088/UDP
25# Feeder push to Broadcaster, Zixi protocol with DTLS
26EXPOSE 7088/UDP
27# Receiver pull from Broadcaster, Zixi protocol
28EXPOSE 2077/UDP
29# Receiver pull from Broadcaster, Zixi protocol with DTLS
30EXPOSE 7077/UDP
31# Encoder push to Broadcaster, RTMP protocol
32EXPOSE 1935/TCP
33# HTTP streaming protocol - HLS or DASH when Broadcaster is origin server
34EXPOSE 7777/TCP
35# Preinstall a config file setting logs to be stored at zixi_broadcaster-linux64/logs
36# Other settings for default behavior could be added to the config file as well
37COPY broadcaster-config-template.xml zixi_broadcaster-linux64/broadcaster-config.xml
38# Create logs folder
39WORKDIR /zixi_broadcaster-linux64/logs
40# Set final working directory
41WORKDIR /zixi_broadcaster-linux64
42# Set the executable to start when the container is run
43ENTRYPOINT ["./zixi_broadcaster", "--no-daemon"]
Bash
1# Get Alma 9 Docker image
2FROM almalinux:9.4
3# Variables EDIT ME WITH PROPER VERSION
4ENV zixiversion 17.6.45597
5# Disable firewall
6RUN systemctl mask firewalld
7# Install/uninstall necessary Linux packages
8RUN dnf update -y
9RUN dnf install -y dnf-utils net-tools wget tar chrony telnet traceroute initscripts numactl ipcalc xz dmidecode iproute pciutils which
10# net-snmp net-snmp-utils
11# Copy Zixi installer to new image and extract files
12COPY zixi_broadcaster-${zixiversion}.linux64.tar.xz .
13RUN tar -xvf zixi_broadcaster-${zixiversion}.linux64.tar.xz
14# Copy files to proper folder
15RUN cp /zixi_broadcaster-linux64/scripts/centos7/* /zixi_broadcaster-linux64/
16# Create link to executable with no version for ENTRYPOINT command
17RUN ln -s /zixi_broadcaster-linux64/zixi_broadcaster-${zixiversion} /zixi_broadcaster-linux64/zixi_broadcaster
18RUN ln -s /etc/chrony.conf /etc/ntp.conf
19# Informs Docker that the container listens on the specified ports
20# These are relevant ports for Broadcaster but some may not be necessary depending on use case
21# Ports that will be used need to published upon running the image for bridged mode
22# Some other ports may need to be added for RTP/UDP streams.
23# Web management UI, HTTP protocol
24EXPOSE 4444/TCP
25# Feeder push to Broadcaster, Zixi protocol
26EXPOSE 2088/UDP
27# Feeder push to Broadcaster, Zixi protocol with DTLS
28EXPOSE 7088/UDP
29# Receiver pull from Broadcaster, Zixi protocol
30EXPOSE 2077/UDP
31# Receiver pull from Broadcaster, Zixi protocol with DTLS
32EXPOSE 7077/UDP
33# Encoder push to Broadcaster, RTMP protocol
34EXPOSE 1935/TCP
35# HTTP streaming protocol - HLS or DASH when Broadcaster is origin server
36EXPOSE 7777/TCP
37# Preinstall a config file setting logs to be stored at zixi_broadcaster-linux64/logs
38# Other settings for default behavior could be added to the config file as well
39COPY broadcaster-config-template.xml zixi_broadcaster-linux64/broadcaster-config.xml
40# Create logs folder
41WORKDIR /zixi_broadcaster-linux64/logs
42# Set final working directory
43WORKDIR /zixi_broadcaster-linux64
44# Set the executable to start when the container is run
45ENTRYPOINT ["./zixi_broadcaster", "--no-daemon"]
46
Updated 23 Dec 2024

Did this page help you?