Docker image for TURN server
A Docker container with the Coturn TURN server
sudo docker run -d -p 3478:3478 -p 3478:3478/udp --restart=always zolochevska/turn-server username password realm
A Docker container with the Coturn TURN server
A Docker container with the Coturn TURN server
sudo docker run -d -p 3478:3478 -p 3478:3478/udp --restart=always zolochevska/turn-server username password realm
Hey Anastasia,
I'm using your docker image to run a stun/turn server for an WebRTC application. I'm starting your image as follows on my server/host (e.g., IP 1.2.3.4):
sudo docker run -d -p 3478:3478 -p 3478:3478/udp --name coturn --restart=always zolochevska/turn-server username password realm
netstat -tulpen
on the host shows me, that's working:
$ netstat -tulpen
tcp6 0 0 :::3478 :::* LISTEN 0 54938 4639/docker-proxy
tcp6 0 0 :::22 :::* LISTEN 0 18123 1680/sshd
udp6 0 0 :::3478 :::* 0 54991 4655/docker-proxy
Well, if WebRTC runs a turn request, I am getting a relay candidate (Chrome):
{"candidate":"candidate:3 1 UDP 92217087 1.2.3.4 54277 typ relay raddr 1.2.3.4 rport
Looking into netstat on the host, nothing changed. Thus I jumped into the container:
docker exec -it coturn /bin/bash
Running netstat -tulpen
in the container (I installed the package net-tools
), I see that the UDP port 54277 is bound inside the container:
$ netstat -tulpen
tcp 0 0 127.0.0.1:5766 0.0.0.0:* LISTEN 0 55163 17/turnserver
tcp 0 0 172.17.0.2:3478 0.0.0.0:* LISTEN 0 55180 17/turnserver
tcp 0 0 172.17.0.2:3478 0.0.0.0:* LISTEN 0 55176 17/turnserver
udp 0 0 172.17.0.2:54277 0.0.0.0:* 0 58941 17/turnserver
udp 0 0 172.17.0.2:3478 0.0.0.0:* 0 55160 17/turnserver
udp 0 0 172.17.0.2:3478 0.0.0.0:* 0 55159 17/turnserver
Using 1.2.3.4 54277
fails, since the bound port is not exposed to the host.
The port range used by coturn to provide the TURN functionality must be exposed as well.
Port range used by coturn: 49152-65535
Source: https://github.com/coturn/coturn/blob/master/examples/etc/turnserver.conf#L147
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.