core/Dockerfile.bundle
Cesar Mendivil 1623b4ddad
Some checks are pending
tests / build (push) Waiting to run
Refactor YAML library and update Docker configurations
- 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.
2026-03-26 14:28:14 -07:00

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