# Deploy Openvidu Server 2.13.0 on premises in LAN network without internet connection

**URL:** https://openvidu.discourse.group/t/deploy-openvidu-server-2-13-0-on-premises-in-lan-network-without-internet-connection/561
**Category:** Issues with deployment
**Tags:** v2
**Created:** [April 26, 2020, 8:22am UTC](https://openvidu.discourse.group/t/deploy-openvidu-server-2-13-0-on-premises-in-lan-network-without-internet-connection/561 "2020-04-26T08:22:00Z")
**Posts on this page:** 13
**Page:** 1

<div class="post-metadata">

### Author: ![smartleopard](https://avatars.discourse-cdn.com/v4/letter/s/ecae2f/32.png) [@smartleopard](https://openvidu.discourse.group/u/smartleopard)
#### Post date: [April 26, 2020, 8:22am UTC](https://openvidu.discourse.group/t/deploy-openvidu-server-2-13-0-on-premises-in-lan-network-without-internet-connection/561/1 "2020-04-26T08:22:00Z")

</div>

Hi all,  
I deployed Openvidu 2.13.0 on my PC based on [https://docs.openvidu.io/en/2.13.0/deployment/deploying-on-premises/](https://docs.openvidu.io/en/2.13.0/deployment/deploying-on-premises/)  
Then i connected classroom-demo app to this server. Everything works fine as its on localhost and my PC has internet connection. What i must do to deploy Openvidu Server on my company LAN (without any internet connection) computer? i must load docker images, but what happend to coturn? does it need internet connectio to work?

---

<div class="post-metadata">

### Author: ![micael.gallego](https://yyz2.discourse-cdn.com/free1/user_avatar/openvidu.discourse.group/micael.gallego/32/2_2.png) [@micael.gallego](https://openvidu.discourse.group/u/micael.gallego)
#### Post date: [April 26, 2020, 11:00pm UTC](https://openvidu.discourse.group/t/deploy-openvidu-server-2-13-0-on-premises-in-lan-network-without-internet-connection/561/2 "2020-04-26T23:00:03Z")

</div>

OpenVidu installation script is implemented assuming you can download software from Internet. If you can not use Internet, download docker images and install them in target computer.

Also, you have to set manually the machine IP in `COTURN_IP` in openvidu-server in `docker-compose` instead of relaying on `/usr/local/bin/discover_my_public_ip.sh` script.

Something like:

```auto
    openvidu-server:
        image: openvidu/openvidu-server:2.13.0
        restart: on-failure
        network_mode: host
        entrypoint: ['/bin/bash', '-c', 'export COTURN_IP=XX.XX.XX.XX; /usr/local/bin/entrypoint.sh']

```

Also, if you plan to use recording, you should donwload also recording container.

---

<div class="post-metadata">

### Author: ![smartleopard](https://avatars.discourse-cdn.com/v4/letter/s/ecae2f/32.png) [@smartleopard](https://openvidu.discourse.group/u/smartleopard)
#### Post date: [April 29, 2020, 7:51am UTC](https://openvidu.discourse.group/t/deploy-openvidu-server-2-13-0-on-premises-in-lan-network-without-internet-connection/561/3 "2020-04-29T07:51:12Z")

</div>

Hi,  
Thanks Micael for replying, I’m new to docker, would you please explain more about this (how i must do this):

> [@micael.gallego](#):
>
> Also, you have to set manually the machine IP in `COTURN_IP` in openvidu-server in `docker-compose` instead of relaying on `/usr/local/bin/discover_my_public_ip.sh` script.

---

<div class="post-metadata">

### Author: ![micael.gallego](https://yyz2.discourse-cdn.com/free1/user_avatar/openvidu.discourse.group/micael.gallego/32/2_2.png) [@micael.gallego](https://openvidu.discourse.group/u/micael.gallego)
#### Post date: [April 29, 2020, 8:04am UTC](https://openvidu.discourse.group/t/deploy-openvidu-server-2-13-0-on-premises-in-lan-network-without-internet-connection/561/4 "2020-04-29T08:04:15Z")

</div>

Replace `openvidu-server` service in `docker-compose.yml` with the following content:

```auto
openvidu-server:
        image: openvidu/openvidu-server:2.13.0
        restart: on-failure
        network_mode: host
        entrypoint: ['/bin/bash', '-c', 'export COTURN_IP=XX.XX.XX.XX; /usr/local/bin/entrypoint.sh']

```

And the value `XX.XX.XX.XX` must be the public IP of the installation machine.

---

<div class="post-metadata">

### Author: ![APortenov](https://avatars.discourse-cdn.com/v4/letter/a/e274bd/32.png) [@APortenov](https://openvidu.discourse.group/u/APortenov)
#### Post date: [May 5, 2020, 7:16am UTC](https://openvidu.discourse.group/t/deploy-openvidu-server-2-13-0-on-premises-in-lan-network-without-internet-connection/561/5 "2020-05-05T07:16:28Z")

</div>

Hey folks, i have problem regarding similar configuration. I have openvidu-server-kms 2.13 ruining on linux machine that is in my network on a docker. Do i need to install coturn so i can process the video because at the moment im receiving the following :

p.s. On local machine everything is working fine

why is disconnecting? What could be the problem?

IceConnectionState of RTCPeerConnection ac22d7fe-1c47-4a01-a46f-f5c8a5a89b80 (str\_IPC\_L1GU\_ipc\_IPCAM\_rtsp\_DJZL\_170\_93\_143\_139\_rtplive\_470011e600ef003a004ee33696235daa) change to “checking”  
‘Subscriber’ (str\_IPC\_L1GU\_ipc\_IPCAM\_rtsp\_DJZL\_170\_93\_143\_139\_rtplive\_470011e600ef003a004ee33696235daa) successfully subscribed  
Peer remote stream MediaStream {id: “823ca678-9d27-4778-93b5-26564e64e3ac”, active: true, onaddtrack: null, onremovetrack: null, onactive: null, …}  
Video srcObject [[object MediaStream]] updated in stream [str\_IPC\_L1GU\_ipc\_IPCAM\_rtsp\_DJZL\_170\_93\_143\_139\_rtplive\_470011e600ef003a004ee33696235daa]  
WebRtc stats not enabled  
Subscribed correctly to ipc\_IPCAM\_rtsp\_DJZL\_170\_93\_143\_139\_rtplive\_470011e600ef003a004ee33696235daa  
IceConnectionState of RTCPeerConnection 016ea05c-01ca-4e34-9b4d-b7ce4e363534 (str\_IPC\_FCwm\_ipc\_IPCAM\_rtsp\_W4LB\_170\_93\_143\_139\_rtplive\_470011e600ef003a004ee33696235daa) change to “disconnected”. Possible network disconnection  
pc.oniceconnectionstatechange  
IceConnectionState of RTCPeerConnection ac22d7fe-1c47-4a01-a46f-f5c8a5a89b80 (str\_IPC\_L1GU\_ipc\_IPCAM\_rtsp\_DJZL\_170\_93\_143\_139\_rtplive\_470011e600ef003a004ee33696235daa) change to “disconnected”. Possible network disconnection  
pc.oniceconnectionstatechange  
New video element associated to e {videos: Array(1), lazyLaunchVideoElementCreatedEvent: false, ee: l, stream: t, remote: true, …}

---

<div class="post-metadata">

### Author: ![micael.gallego](https://yyz2.discourse-cdn.com/free1/user_avatar/openvidu.discourse.group/micael.gallego/32/2_2.png) [@micael.gallego](https://openvidu.discourse.group/u/micael.gallego)
#### Post date: [May 5, 2020, 8:00am UTC](https://openvidu.discourse.group/t/deploy-openvidu-server-2-13-0-on-premises-in-lan-network-without-internet-connection/561/6 "2020-05-05T08:00:02Z")

</div>

Please open new thread as your issue seems very different.

---

<div class="post-metadata">

### Author: ![richard](https://avatars.discourse-cdn.com/v4/letter/r/f0a364/32.png) [@richard](https://openvidu.discourse.group/u/richard)
#### Post date: [May 15, 2020, 3:42am UTC](https://openvidu.discourse.group/t/deploy-openvidu-server-2-13-0-on-premises-in-lan-network-without-internet-connection/561/7 "2020-05-15T03:42:34Z")

</div>

Is there any way to use hostname instead of coturn\_ip?

I’d like to use Global Accelerator in AWS Service for turn server.

I have to use FQDN for this.( [https://aws.amazon.com/ko/global-accelerator/](https://aws.amazon.com/ko/global-accelerator/) )

---

<div class="post-metadata">

### Author: ![micael.gallego](https://yyz2.discourse-cdn.com/free1/user_avatar/openvidu.discourse.group/micael.gallego/32/2_2.png) [@micael.gallego](https://openvidu.discourse.group/u/micael.gallego)
#### Post date: [May 18, 2020, 2:21pm UTC](https://openvidu.discourse.group/t/deploy-openvidu-server-2-13-0-on-premises-in-lan-network-without-internet-connection/561/8 "2020-05-18T14:21:31Z")

</div>

No, it is not possible as it is a limitation of the underlying ICE library libnice.

---

<div class="post-metadata">

### Author: ![richard](https://avatars.discourse-cdn.com/v4/letter/r/f0a364/32.png) [@richard](https://openvidu.discourse.group/u/richard)
#### Post date: [May 19, 2020, 1:44am UTC](https://openvidu.discourse.group/t/deploy-openvidu-server-2-13-0-on-premises-in-lan-network-without-internet-connection/561/9 "2020-05-19T01:44:12Z")

</div>

We already used Global Accelator for turn service with openvidu-pro 2.12.0

V2.12.0 Configure

### /opt/openvidu/application.properties

[coturn.ip=openvidu-ga.domain.com](http://coturn.ip=openvidu-ga.domain.com) \<- domain

### token value

wss://openvidu-ga.domain.com:4443?sessionId=ses\_GngQpFvCAl&token=tok\_FS3nstWMlG61gyhQ&role=PUBLISHER&version=2.12.0&**[coturnIp=openvidu-ga.domain.com](http://coturnIp=openvidu-ga.domain.com)**&turnUsername=VHNDFO&turnCredential=uvh9dn&webrtcStatsInterval=30"

turnIp returned domain name.

V2.14.0 Configure

### /opt/openvidu/docker-compose.yml

entrypoint: [’/bin/bash’, ‘-c’, ‘export COTURN\_IP=[openvidu-v2-pre.domain.com](http://openvidu-v2-pre.domain.com); /usr/local/bin/entrypoint.sh’]

### token value

wss://openvidu-v2-pre.domain.com?sessionId=ses\_SDMElga6xw&token=tok\_A6E65pQO3qSeV2D8&role=PUBLISHER&version=2.14.0&coturnIp=13.124.XX.XX&turnUsername=IPYRBC&turnCredential=pnn16n&webrtcStatsInterval=30

coturnIp returned Ip value.

## docker-compse logs openvidu-server

openvidu-server\_1 | [INFO] 2020-05-19 01:28:36,872 [main] io.openvidu.server.coturn.CoturnCredentialsService - COTURN IP: **13.124.XX.XX**  
openvidu-server\_1 | [INFO] 2020-05-19 01:28:36,872 [main] io.openvidu.server.coturn.CoturnCredentialsService - COTURN Redis DB accessible with string “ip=127.0.0.1 dbname=0 password=turn connect\_timeout=30”  
openvidu-server\_1 | [INFO] 2020-05-19 01:28:36,872 [main] io.openvidu.server.coturn.CoturnCredentialsService - Cleaning COTURN DB…  
openvidu-server\_1 | [INFO] 2020-05-19 01:28:36,872 [main] io.openvidu.server.coturn.CoturnCredentialsService - Path of COTURN log files: /var/log/  
openvidu-server\_1 | [ERROR] 2020-05-19 01:28:36,874 [main] io.openvidu.server.coturn.CoturnCredentialsService - COTURN DB is not empty  
openvidu-server\_1 | [INFO] 2020-05-19 01:28:36,874 [main] io.openvidu.server.coturn.CoturnCredentialsService - Using COTURN credentials service for BASH environment  
openvidu-server\_1 | [INFO] 2020-05-19 01:28:36,880 [main] io.openvidu.server.pro.utils.GeoLocationByIpPro - Trying to load user location database…  
openvidu-server\_1 | [INFO] 2020-05-19 01:28:37,329 [main] io.openvidu.server.pro.utils.GeoLocationByIpPro - Database was loaded successfully

---

<div class="post-metadata">

### Author: ![micael.gallego](https://yyz2.discourse-cdn.com/free1/user_avatar/openvidu.discourse.group/micael.gallego/32/2_2.png) [@micael.gallego](https://openvidu.discourse.group/u/micael.gallego)
#### Post date: [May 19, 2020, 2:09am UTC](https://openvidu.discourse.group/t/deploy-openvidu-server-2-13-0-on-premises-in-lan-network-without-internet-connection/561/10 "2020-05-19T02:09:36Z")

</div>

You are right.

Kurento Media Server doesn’t allow a TURN server specified with FQDN.

Any browser does allow a TURN server server specified with FQDN.

---

<div class="post-metadata">

### Author: ![richard](https://avatars.discourse-cdn.com/v4/letter/r/f0a364/32.png) [@richard](https://openvidu.discourse.group/u/richard)
#### Post date: [May 19, 2020, 2:41am UTC](https://openvidu.discourse.group/t/deploy-openvidu-server-2-13-0-on-premises-in-lan-network-without-internet-connection/561/11 "2020-05-19T02:41:45Z")

</div>

We got a ip value for coturn IP even though we set a domain.

entrypoint: [’/bin/bash’, ‘-c’, ‘export COTURN\_IP=[openvidu-v2-pre.domain.com](http://openvidu-v2-pre.domain.com); /usr/local/bin/entrypoint.sh’] \<- set a domain value

io.openvidu.server.coturn.CoturnCredentialsService - COTURN IP: **13.124.XX.XX** \<- IP value

Domain is translated IP value.  
What is the best way to get a domain value?

---

<div class="post-metadata">

### Author: ![richard](https://avatars.discourse-cdn.com/v4/letter/r/f0a364/32.png) [@richard](https://openvidu.discourse.group/u/richard)
#### Post date: [May 19, 2020, 6:08am UTC](https://openvidu.discourse.group/t/deploy-openvidu-server-2-13-0-on-premises-in-lan-network-without-internet-connection/561/12 "2020-05-19T06:08:28Z")

</div>

We found out something changed in your git repository.

> <https://github.com/OpenVidu/openvidu/blob/master/openvidu-server/src/main/java/io/openvidu/server/config/OpenviduConfig.java#L525>

It seems to convert the domain to ip.

---

<div class="post-metadata">

### Author: ![micael.gallego](https://yyz2.discourse-cdn.com/free1/user_avatar/openvidu.discourse.group/micael.gallego/32/2_2.png) [@micael.gallego](https://openvidu.discourse.group/u/micael.gallego)
#### Post date: [May 19, 2020, 8:17am UTC](https://openvidu.discourse.group/t/deploy-openvidu-server-2-13-0-on-premises-in-lan-network-without-internet-connection/561/13 "2020-05-19T08:17:12Z")

</div>

Yes… He have added it because now TURN is configured also in KMS.

If you want to configure TURN only in browser, then is better to configure it directly in openvidu-browser:

[https://docs.openvidu.io/en/2.14.0/api/openvidu-browser/classes/openvidu.html#setadvancedconfiguration](https://docs.openvidu.io/en/2.14.0/api/openvidu-browser/classes/openvidu.html#setadvancedconfiguration)

I hope it helps in your use case.
