mirror of
https://github.com/coturn/coturn.git
synced 2025-10-27 13:00:59 +01:00
Co-authored-by: Kai Ren <tyranron@gmail.com>
This commit is contained in:
parent
46a38d1c8c
commit
629faceeef
@ -4,6 +4,18 @@ Coturn TURN server Docker image changelog
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
## [4.6.1-r1] · 2023-01-??
|
||||||
|
[4.6.1-r1]: /../../tree/docker/4.6.1-r1
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
|
||||||
|
- Incorrect argument expansion in `docker-entrypoint.sh`. ([#1110])
|
||||||
|
|
||||||
|
[#1110]: /../../pull/1110
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
## [4.6.1-r0] · 2022-12-04
|
## [4.6.1-r0] · 2022-12-04
|
||||||
[4.6.1-r0]: /../../tree/docker/4.6.1-r0
|
[4.6.1-r0]: /../../tree/docker/4.6.1-r0
|
||||||
|
|
||||||
@ -192,7 +204,7 @@ Coturn TURN server Docker image changelog
|
|||||||
|
|
||||||
### Improved
|
### Improved
|
||||||
|
|
||||||
- Use DNS requests to discover external IP address in `detect-external-ip` script ([#753]).
|
- Use DNS requests to discover external IP address in `detect-external-ip` script. ([#753])
|
||||||
|
|
||||||
### Fixed
|
### Fixed
|
||||||
|
|
||||||
|
|||||||
@ -52,9 +52,7 @@ As per [RFC 5766 Section 6.2], these are the ports that the TURN server will use
|
|||||||
You can change them with `min-port` and `max-port` Coturn configuration options:
|
You can change them with `min-port` and `max-port` Coturn configuration options:
|
||||||
```bash
|
```bash
|
||||||
docker run -d -p 3478:3478 -p 3478:3478/udp -p 5349:5349 -p 5349:5349/udp -p 49160-49200:49160-49200/udp \
|
docker run -d -p 3478:3478 -p 3478:3478/udp -p 5349:5349 -p 5349:5349/udp -p 49160-49200:49160-49200/udp \
|
||||||
coturn/coturn -n --log-file=stdout \
|
coturn/coturn --min-port=49160 --max-port=49200
|
||||||
--external-ip='$(detect-external-ip)' \
|
|
||||||
--min-port=49160 --max-port=49200
|
|
||||||
```
|
```
|
||||||
|
|
||||||
Or just use the host network directly (__recommended__, as Docker [performs badly with large port ranges][7]):
|
Or just use the host network directly (__recommended__, as Docker [performs badly with large port ranges][7]):
|
||||||
@ -97,12 +95,15 @@ By default, default Coturn configuration and CLI options provided in the `CMD` [
|
|||||||
|
|
||||||
#### Automatic detection of external IP
|
#### Automatic detection of external IP
|
||||||
|
|
||||||
`detect-external-ip` binary may be used to automatically detect external IP of TURN server in runtime. It's okay to use it multiple times (the value will be evaluated only once).
|
`detect-external-ip` binary may be used to automatically detect external IP of TURN server in runtime.
|
||||||
|
To add ` --external-ip=<detected external IP>` using `detect-external-ip` as argument for `turnserver`, set envronment variable `DETECT_EXTERNAL_IP`. Also, environment variables `DETECT_RELAY_IP`, `DETECT_EXTERNAL_IPV6` and `DETECT_RELAY_IPV6` can be used for adding arugments ` --external-ip=<detected external IP>` or ` --relay-ip=<detected external IP>`.
|
||||||
|
It's okay to use it multiple times (the value will be evaluated only once).
|
||||||
```bash
|
```bash
|
||||||
docker run -d --network=host coturn/coturn \
|
docker run -d --network=host \
|
||||||
-n --log-file=stdout \
|
-e DETECT_EXTERNAL_IP=yes \
|
||||||
--external-ip='$(detect-external-ip)' \
|
-e DETECT_RELAY_IP=yes \
|
||||||
--relay-ip='$(detect-external-ip)'
|
coturn/coturn \
|
||||||
|
-n --log-file=stdout
|
||||||
```
|
```
|
||||||
|
|
||||||
By default, [IPv4] address is discovered. In case you need an [IPv6] one, specify the `--ipv6` flag:
|
By default, [IPv4] address is discovered. In case you need an [IPv6] one, specify the `--ipv6` flag:
|
||||||
|
|||||||
@ -105,7 +105,7 @@ COPY --from=dist-libprom /out/ /
|
|||||||
COPY CMakeLists.txt \
|
COPY CMakeLists.txt \
|
||||||
configure \
|
configure \
|
||||||
INSTALL \
|
INSTALL \
|
||||||
LICENSE LICENSE.OpenSSL \
|
LICENSE \
|
||||||
make-man.sh Makefile.in \
|
make-man.sh Makefile.in \
|
||||||
postinstall.txt \
|
postinstall.txt \
|
||||||
README.turn* \
|
README.turn* \
|
||||||
@ -154,7 +154,6 @@ RUN mkdir -p /out/ \
|
|||||||
|
|
||||||
# Install helper tools of Docker image.
|
# Install helper tools of Docker image.
|
||||||
COPY docker/coturn/rootfs/ /out/
|
COPY docker/coturn/rootfs/ /out/
|
||||||
COPY docker/coturn/alpine/rootfs/ /out/
|
|
||||||
RUN chmod +x /out/usr/local/bin/docker-entrypoint.sh \
|
RUN chmod +x /out/usr/local/bin/docker-entrypoint.sh \
|
||||||
/out/usr/local/bin/detect-external-ip.sh
|
/out/usr/local/bin/detect-external-ip.sh
|
||||||
RUN ln -s /usr/local/bin/detect-external-ip.sh \
|
RUN ln -s /usr/local/bin/detect-external-ip.sh \
|
||||||
@ -187,6 +186,9 @@ RUN apk update \
|
|||||||
hiredis \
|
hiredis \
|
||||||
mongo-c-driver \
|
mongo-c-driver \
|
||||||
libmicrohttpd \
|
libmicrohttpd \
|
||||||
|
# Install `bash` for `docker-entrypoint.sh`.
|
||||||
|
&& apk add --no-cache \
|
||||||
|
bash \
|
||||||
# Install `dig` tool for `detect-external-ip.sh`.
|
# Install `dig` tool for `detect-external-ip.sh`.
|
||||||
&& apk add --no-cache \
|
&& apk add --no-cache \
|
||||||
bind-tools \
|
bind-tools \
|
||||||
|
|||||||
@ -1,8 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
|
|
||||||
# If command starts with an option, prepend it with a `turnserver` binary.
|
|
||||||
if [ "${1:0:1}" == '-' ]; then
|
|
||||||
set -- turnserver "$@"
|
|
||||||
fi
|
|
||||||
|
|
||||||
exec $(eval "echo $@")
|
|
||||||
@ -104,7 +104,7 @@ COPY --from=dist-libprom /out/ /
|
|||||||
COPY CMakeLists.txt \
|
COPY CMakeLists.txt \
|
||||||
configure \
|
configure \
|
||||||
INSTALL \
|
INSTALL \
|
||||||
LICENSE LICENSE.OpenSSL \
|
LICENSE \
|
||||||
make-man.sh Makefile.in \
|
make-man.sh Makefile.in \
|
||||||
postinstall.txt \
|
postinstall.txt \
|
||||||
README.turn* \
|
README.turn* \
|
||||||
@ -153,7 +153,6 @@ RUN mkdir -p /out/ \
|
|||||||
|
|
||||||
# Install helper tools of Docker image.
|
# Install helper tools of Docker image.
|
||||||
COPY docker/coturn/rootfs/ /out/
|
COPY docker/coturn/rootfs/ /out/
|
||||||
COPY docker/coturn/debian/rootfs/ /out/
|
|
||||||
RUN chmod +x /out/usr/local/bin/docker-entrypoint.sh \
|
RUN chmod +x /out/usr/local/bin/docker-entrypoint.sh \
|
||||||
/out/usr/local/bin/detect-external-ip.sh
|
/out/usr/local/bin/detect-external-ip.sh
|
||||||
RUN ln -s /usr/local/bin/detect-external-ip.sh \
|
RUN ln -s /usr/local/bin/detect-external-ip.sh \
|
||||||
|
|||||||
@ -1,8 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
|
|
||||||
# If command starts with an option, prepend it with a `turnserver` binary.
|
|
||||||
if [ "${1:0:1}" == '-' ]; then
|
|
||||||
set -- turnserver "$@"
|
|
||||||
fi
|
|
||||||
|
|
||||||
exec $(eval "echo $@")
|
|
||||||
14
docker/coturn/rootfs/usr/local/bin/docker-entrypoint.sh
Normal file
14
docker/coturn/rootfs/usr/local/bin/docker-entrypoint.sh
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# If command starts with an option, prepend it with a `turnserver` binary.
|
||||||
|
if [ "${1:0:1}" == '-' ]; then
|
||||||
|
set -- turnserver "$@"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Evaluate each argument separately to avoid mixing them up in a single `eval`.
|
||||||
|
expanded=()
|
||||||
|
for i in "$@"; do
|
||||||
|
expanded+=("$(eval "echo $i")")
|
||||||
|
done
|
||||||
|
|
||||||
|
exec "${expanded[@]}"
|
||||||
Loading…
x
Reference in New Issue
Block a user