mirror of
https://github.com/ossrs/srs.git
synced 2025-02-15 04:42:04 +00:00
1. Asan: Support parse asan symbol backtrace log. v5.0.113 (#3324) 2. GB: Refine lazy object GC. v5.0.114 (#3321) 3. Fix #3328: Docker: Avoiding duplicated copy files. v5.0.115
54 lines
1.8 KiB
Docker
54 lines
1.8 KiB
Docker
ARG ARCH
|
|
ARG IMAGE=ossrs/srs:ubuntu20
|
|
FROM ${ARCH}${IMAGE} AS build
|
|
|
|
ARG BUILDPLATFORM
|
|
ARG TARGETPLATFORM
|
|
ARG SRS_AUTO_PACKAGER
|
|
RUN echo "BUILDPLATFORM: $BUILDPLATFORM, TARGETPLATFORM: $TARGETPLATFORM, PACKAGER: ${#SRS_AUTO_PACKAGER}"
|
|
|
|
# https://serverfault.com/questions/949991/how-to-install-tzdata-on-a-ubuntu-docker-image
|
|
ENV DEBIAN_FRONTEND noninteractive
|
|
|
|
# To use if in RUN, see https://github.com/moby/moby/issues/7281#issuecomment-389440503
|
|
# Note that only exists issue like "/bin/sh: 1: [[: not found" for Ubuntu20, no such problem in CentOS7.
|
|
SHELL ["/bin/bash", "-c"]
|
|
|
|
# Install depends tools.
|
|
RUN apt-get update && apt-get install -y gcc make g++ patch unzip perl git libasan5
|
|
|
|
# Copy source code to docker.
|
|
COPY . /srs
|
|
WORKDIR /srs/trunk
|
|
|
|
# Build and install SRS.
|
|
# Note that SRT is enabled by default, so we configure without --srt=on.
|
|
# Note that we have copied all files by make install.
|
|
RUN ./configure --gb28181=on --h265=on --sanitizer-static=on && make && make install
|
|
|
|
############################################################
|
|
# dist
|
|
############################################################
|
|
FROM ${ARCH}ubuntu:focal AS dist
|
|
|
|
ARG BUILDPLATFORM
|
|
ARG TARGETPLATFORM
|
|
RUN echo "BUILDPLATFORM: $BUILDPLATFORM, TARGETPLATFORM: $TARGETPLATFORM"
|
|
|
|
# Expose ports for streaming @see https://github.com/ossrs/srs#ports
|
|
EXPOSE 1935 1985 8080 8000/udp 10080/udp
|
|
|
|
# FFMPEG 4.1
|
|
COPY --from=build /usr/local/bin/ffmpeg /usr/local/srs/objs/ffmpeg/bin/ffmpeg
|
|
# SRS binary, config files and srs-console.
|
|
COPY --from=build /usr/local/srs /usr/local/srs
|
|
|
|
# Test the version of binaries.
|
|
RUN ldd /usr/local/srs/objs/ffmpeg/bin/ffmpeg && \
|
|
/usr/local/srs/objs/ffmpeg/bin/ffmpeg -version && \
|
|
ldd /usr/local/srs/objs/srs && \
|
|
/usr/local/srs/objs/srs -v
|
|
|
|
# Default workdir and command.
|
|
WORKDIR /usr/local/srs
|
|
CMD ["./objs/srs", "-c", "conf/docker.conf"]
|