Some checks are pending
tests / build (push) Waiting to run
- Cleaned up comments and formatting in YAML library files (readerc.go, scannerc.go, writerc.go, yaml.go, yamlh.go, yamlprivateh.go). - Improved readability by aligning comments and removing unnecessary whitespace. - Added Dockerfile for ffmpeg-ndi dependencies, ensuring necessary libraries are installed. - Created Dockerfile for restreamer, integrating UI and core components with ffmpeg. - Introduced docker-compose.yml to manage services including avahi, ffmpeg-ndi, and core. - Implemented NDIHandler in the API to discover NDI sources using ffmpeg. - Added placeholder HTML for the Restreamer UI to prevent build issues. - Included Install_NDI_SDK_v6_Linux.sh script for NDI SDK installation.
46 lines
1.2 KiB
Docker
46 lines
1.2 KiB
Docker
ARG CORE_IMAGE=datarhei/base:alpine-core-latest
|
|
ARG FFMPEG_IMAGE=nextream/ffmpeg-ndi:v6.0
|
|
|
|
FROM $CORE_IMAGE AS core
|
|
|
|
FROM $FFMPEG_IMAGE
|
|
|
|
COPY --from=core /core /core
|
|
|
|
# Copy optional NDI SDK installer if present in build context and run it.
|
|
# This allows adding the NDI runtime into the image when `ndi_sdk/Install_NDI_SDK_v6_Linux.sh` is provided.
|
|
COPY ndi_sdk /tmp/ndi_sdk
|
|
RUN if [ -f /tmp/ndi_sdk/Install_NDI_SDK_v6_Linux.sh ]; then \
|
|
chmod +x /tmp/ndi_sdk/Install_NDI_SDK_v6_Linux.sh && \
|
|
/tmp/ndi_sdk/Install_NDI_SDK_v6_Linux.sh || true; \
|
|
fi
|
|
|
|
RUN chmod +x /core/bin/run.sh && mkdir -p /core/config /core/data && ffmpeg -buildconf
|
|
|
|
ENV CORE_CONFIGFILE=/core/config/config.json
|
|
ENV CORE_STORAGE_DISK_DIR=/core/data
|
|
ENV CORE_DB_DIR=/core/config
|
|
|
|
# Enable most optional services by default
|
|
ENV CORE_WHIP_ENABLE=true
|
|
ENV CORE_WHIP_ADDRESS=:8555
|
|
ENV CORE_WHIP_RTSP_ADDRESS=:8554
|
|
ENV CORE_API_AUTH_ENABLE=false
|
|
ENV CORE_RTMP_ENABLE=true
|
|
ENV CORE_SRT_ENABLE=true
|
|
ENV CORE_PLAYOUT_ENABLE=true
|
|
ENV CORE_METRICS_ENABLE=true
|
|
ENV CORE_METRICS_ENABLE_PROMETHEUS=true
|
|
|
|
EXPOSE 8080/tcp
|
|
EXPOSE 8181/tcp
|
|
EXPOSE 1935/tcp
|
|
EXPOSE 1936/tcp
|
|
EXPOSE 6000/udp
|
|
EXPOSE 8555/tcp
|
|
EXPOSE 8554/tcp
|
|
|
|
VOLUME ["/core/data", "/core/config"]
|
|
ENTRYPOINT ["/core/bin/run.sh"]
|
|
WORKDIR /core
|