How to setup localhost Cotrun server for offline development?










0















I am building a WebRTC project that needs a Coturn server. I am
struggling to setup a localhost version to use for development. Please
do not suggest using a third party TURN server. I have been using them
to this point and have had inconsistent connection and latency issues so
now intend to host one.



The project is using docker. The coturn image I am using is
https://github.com/kevzettler/coturnDockerLongTermCredentials



I am trying to manually docker run the container and get it working.




docker run
--name turnserver
--net=host
-e "TURN_PORT_START=49152"
-e "TURN_PORT_END=65535"
-e "TURN_REALM=projectName"
-d
-t
meetrix/coturn-long-term-cred



To test connections to the turn server I am using
https://webrtc.github.io/samples/src/content/peerconnection/trickle-ice/
and pointing it to turn:0.0.0.0



I am able to do this on a production hosting machine and connect successfully using the trickle-ice page. localhost however, is failing.



I want to get a local Coturn setup so I can dev offline. The primary issue I believe is around open PORTS.



Coturn expects a large range of ports open 49152-65535. If we update
the docker command to explicitly expose these ports like:




docker run
--name turnserver
-p 3478:3478/udp
-p 3478:3478
-p 49152-65535:49152-65535/udp
-e "TURN_PORT_START=49152"
-e "TURN_PORT_END=65535"
-e "TURN_REALM=projectname"
-d
-t
meetrix/coturn-long-term-cred



The docker daemon will crash.



This is why the initial run command, and production uses --net=host. --net=host will
use the host machines firewall instead of dockers.



The host machine
for this local dev environment is a macOS Sierra. I suspect the ports
are not open at the macOS level in the --net=host scenario.










share|improve this question




























    0















    I am building a WebRTC project that needs a Coturn server. I am
    struggling to setup a localhost version to use for development. Please
    do not suggest using a third party TURN server. I have been using them
    to this point and have had inconsistent connection and latency issues so
    now intend to host one.



    The project is using docker. The coturn image I am using is
    https://github.com/kevzettler/coturnDockerLongTermCredentials



    I am trying to manually docker run the container and get it working.




    docker run
    --name turnserver
    --net=host
    -e "TURN_PORT_START=49152"
    -e "TURN_PORT_END=65535"
    -e "TURN_REALM=projectName"
    -d
    -t
    meetrix/coturn-long-term-cred



    To test connections to the turn server I am using
    https://webrtc.github.io/samples/src/content/peerconnection/trickle-ice/
    and pointing it to turn:0.0.0.0



    I am able to do this on a production hosting machine and connect successfully using the trickle-ice page. localhost however, is failing.



    I want to get a local Coturn setup so I can dev offline. The primary issue I believe is around open PORTS.



    Coturn expects a large range of ports open 49152-65535. If we update
    the docker command to explicitly expose these ports like:




    docker run
    --name turnserver
    -p 3478:3478/udp
    -p 3478:3478
    -p 49152-65535:49152-65535/udp
    -e "TURN_PORT_START=49152"
    -e "TURN_PORT_END=65535"
    -e "TURN_REALM=projectname"
    -d
    -t
    meetrix/coturn-long-term-cred



    The docker daemon will crash.



    This is why the initial run command, and production uses --net=host. --net=host will
    use the host machines firewall instead of dockers.



    The host machine
    for this local dev environment is a macOS Sierra. I suspect the ports
    are not open at the macOS level in the --net=host scenario.










    share|improve this question


























      0












      0








      0








      I am building a WebRTC project that needs a Coturn server. I am
      struggling to setup a localhost version to use for development. Please
      do not suggest using a third party TURN server. I have been using them
      to this point and have had inconsistent connection and latency issues so
      now intend to host one.



      The project is using docker. The coturn image I am using is
      https://github.com/kevzettler/coturnDockerLongTermCredentials



      I am trying to manually docker run the container and get it working.




      docker run
      --name turnserver
      --net=host
      -e "TURN_PORT_START=49152"
      -e "TURN_PORT_END=65535"
      -e "TURN_REALM=projectName"
      -d
      -t
      meetrix/coturn-long-term-cred



      To test connections to the turn server I am using
      https://webrtc.github.io/samples/src/content/peerconnection/trickle-ice/
      and pointing it to turn:0.0.0.0



      I am able to do this on a production hosting machine and connect successfully using the trickle-ice page. localhost however, is failing.



      I want to get a local Coturn setup so I can dev offline. The primary issue I believe is around open PORTS.



      Coturn expects a large range of ports open 49152-65535. If we update
      the docker command to explicitly expose these ports like:




      docker run
      --name turnserver
      -p 3478:3478/udp
      -p 3478:3478
      -p 49152-65535:49152-65535/udp
      -e "TURN_PORT_START=49152"
      -e "TURN_PORT_END=65535"
      -e "TURN_REALM=projectname"
      -d
      -t
      meetrix/coturn-long-term-cred



      The docker daemon will crash.



      This is why the initial run command, and production uses --net=host. --net=host will
      use the host machines firewall instead of dockers.



      The host machine
      for this local dev environment is a macOS Sierra. I suspect the ports
      are not open at the macOS level in the --net=host scenario.










      share|improve this question
















      I am building a WebRTC project that needs a Coturn server. I am
      struggling to setup a localhost version to use for development. Please
      do not suggest using a third party TURN server. I have been using them
      to this point and have had inconsistent connection and latency issues so
      now intend to host one.



      The project is using docker. The coturn image I am using is
      https://github.com/kevzettler/coturnDockerLongTermCredentials



      I am trying to manually docker run the container and get it working.




      docker run
      --name turnserver
      --net=host
      -e "TURN_PORT_START=49152"
      -e "TURN_PORT_END=65535"
      -e "TURN_REALM=projectName"
      -d
      -t
      meetrix/coturn-long-term-cred



      To test connections to the turn server I am using
      https://webrtc.github.io/samples/src/content/peerconnection/trickle-ice/
      and pointing it to turn:0.0.0.0



      I am able to do this on a production hosting machine and connect successfully using the trickle-ice page. localhost however, is failing.



      I want to get a local Coturn setup so I can dev offline. The primary issue I believe is around open PORTS.



      Coturn expects a large range of ports open 49152-65535. If we update
      the docker command to explicitly expose these ports like:




      docker run
      --name turnserver
      -p 3478:3478/udp
      -p 3478:3478
      -p 49152-65535:49152-65535/udp
      -e "TURN_PORT_START=49152"
      -e "TURN_PORT_END=65535"
      -e "TURN_REALM=projectname"
      -d
      -t
      meetrix/coturn-long-term-cred



      The docker daemon will crash.



      This is why the initial run command, and production uses --net=host. --net=host will
      use the host machines firewall instead of dockers.



      The host machine
      for this local dev environment is a macOS Sierra. I suspect the ports
      are not open at the macOS level in the --net=host scenario.







      docker networking docker-compose webrtc turn






      share|improve this question















      share|improve this question













      share|improve this question




      share|improve this question








      edited Nov 15 '18 at 0:21







      kevzettler

















      asked Nov 14 '18 at 17:12









      kevzettlerkevzettler

      1,906103571




      1,906103571






















          0






          active

          oldest

          votes











          Your Answer






          StackExchange.ifUsing("editor", function ()
          StackExchange.using("externalEditor", function ()
          StackExchange.using("snippets", function ()
          StackExchange.snippets.init();
          );
          );
          , "code-snippets");

          StackExchange.ready(function()
          var channelOptions =
          tags: "".split(" "),
          id: "1"
          ;
          initTagRenderer("".split(" "), "".split(" "), channelOptions);

          StackExchange.using("externalEditor", function()
          // Have to fire editor after snippets, if snippets enabled
          if (StackExchange.settings.snippets.snippetsEnabled)
          StackExchange.using("snippets", function()
          createEditor();
          );

          else
          createEditor();

          );

          function createEditor()
          StackExchange.prepareEditor(
          heartbeatType: 'answer',
          autoActivateHeartbeat: false,
          convertImagesToLinks: true,
          noModals: true,
          showLowRepImageUploadWarning: true,
          reputationToPostImages: 10,
          bindNavPrevention: true,
          postfix: "",
          imageUploader:
          brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
          contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
          allowUrls: true
          ,
          onDemand: true,
          discardSelector: ".discard-answer"
          ,immediatelyShowMarkdownHelp:true
          );



          );













          draft saved

          draft discarded


















          StackExchange.ready(
          function ()
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53305501%2fhow-to-setup-localhost-cotrun-server-for-offline-development%23new-answer', 'question_page');

          );

          Post as a guest















          Required, but never shown

























          0






          active

          oldest

          votes








          0






          active

          oldest

          votes









          active

          oldest

          votes






          active

          oldest

          votes















          draft saved

          draft discarded
















































          Thanks for contributing an answer to Stack Overflow!


          • Please be sure to answer the question. Provide details and share your research!

          But avoid


          • Asking for help, clarification, or responding to other answers.

          • Making statements based on opinion; back them up with references or personal experience.

          To learn more, see our tips on writing great answers.




          draft saved


          draft discarded














          StackExchange.ready(
          function ()
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53305501%2fhow-to-setup-localhost-cotrun-server-for-offline-development%23new-answer', 'question_page');

          );

          Post as a guest















          Required, but never shown





















































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown

































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown







          Popular posts from this blog

          Use pre created SQLite database for Android project in kotlin

          Darth Vader #20

          Ondo