ARG ARCH FROM amd64/debian:10.8-slim@sha256:18186dfcc97685f04cb4393b3983e32097449749aa21592381b9b2344b41fad4 AS base-amd64 FROM arm32v7/debian:10.8-slim@sha256:259a7729701e1b6e1ad0d36cce802df4234cb147aa9091de9cb689c0cb311d5e AS base-arm FROM arm64v8/debian:10.8-slim@sha256:fd30779a3ec0b0e368e355323f2716bdeec0012862ec92d552a5d997caec2f08 AS base-arm64 FROM base-${ARCH} ENV COTURN_VERSION="4.5.2" ENV PROMETHEUS_CLIENT_VERSION="v0.1.3" ENV BUILD_PREFIX /usr/local/src WORKDIR /root/coturn RUN apt-get update && apt-get dist-upgrade -y && apt-get install -y \ build-essential="12.6" \ pkg-config="0.29-6" \ libssl-dev="1.1.1d-0+deb10u4" \ libevent-dev="2.1.8-stable-4" \ curl="7.64.0-4+deb10u1" \ && PCV=$(echo "${PROMETHEUS_CLIENT_VERSION}" | cut -c 2-) \ && curl -L "https://github.com/digitalocean/prometheus-client-c/releases/download/${PROMETHEUS_CLIENT_VERSION}/libprom-dev-${PCV}-Linux.deb" > /tmp/libprom.deb \ && curl -L "https://github.com/digitalocean/prometheus-client-c/releases/download/${PROMETHEUS_CLIENT_VERSION}/libpromhttp-dev-${PCV}-Linux.deb" > /tmp/libpromhttp.deb \ && apt-get install -y /tmp/libprom.deb \ && apt-get install -y /tmp/libpromhttp.deb \ && rm /tmp/libprom.deb /tmp/libpromhttp.deb \ && curl -L "https://github.com/coturn/coturn/archive/${COTURN_VERSION}.tar.gz" | tar xvz --strip 1 \ && ./configure \ && make \ && make install \ && rm -rf /root/coturn RUN addgroup --system turnserver \ && adduser --system --home / --shell /bin/false --no-create-home --ingroup turnserver --disabled-password --disabled-login --gecos "turnserver daemon" turnserver WORKDIR / USER turnserver # SUTN/TURN PORTS EXPOSE 3478 3479 3478/udp 3479/udp 80 80/udp EXPOSE 5349 5350 5349/udp 5350/udp 443 443/udp # CLI EXPOSE 5766 # Relay Ports EXPOSE 49152-65535 49152-65535/udp # Prometheus EXPOSE 9641 ENTRYPOINT ["turnserver"]