Hardware recommendations
64-bit processor with SLAT and Hyper-V support
Whether your processor supports Intel virtualization technology can be found at https://www.intel.com/content/www/us/en/support/articles/000005486/processors.html
If Linux: Kernel is not older than 3.10
If Windows: 10 Pro or higher
8 GB RAM
100 GB HDD
Be aware that Link software does not support processors with ARM architecture, so it cannot be installed on Mac devices with M-series chips.
Software recommendations
Ubuntu 20.04 LTS (preferably);
If you have a different operating system and your project is small, we recommend using Oracle VM VirtualBox. Currently, Oracle VM VirtualBox runs on the following host OSes:
Windows hosts (64-bit):
Windows 8.1;
Windows 10 RTM (1507 / 2015 LTSB) build 10240;
Windows 10 Anniversary Update (1607 / 2016 LTSB) build 14393;
Windows 10 Fall Creators Update (1709) build 16299;
Windows 10 April 2018 Update (1803) build 17134;
Windows 10 October 2018 Update (1809 / 2019 LTSC) build 17763;
Windows 10 May 2019 Update (19H1 / 1903) build 18362;
Windows 10 November 2019 Update (19H2 / 1909) build 18363;
Windows Server 2012;
Windows Server 2012 R2;
Windows Server 2016;
Windows Server 2019;
Mac OS X hosts (64-bit):
10.13 (High Sierra);
10.14 (Mojave);
10.15 (Catalina);
Intel hardware is required. See also Known Limitations;
Linux hosts (64-bit). Includes the following:
Ubuntu 18.04 LTS, 19.03 and 19.10;
Debian GNU/Linux 9 ("Stretch") and 10 ("Buster");
Oracle Linux 6, 7, and 8;
CentOS/Red Hat Enterprise Linux 6, 7 and 8;
Fedora 30 and 31;
Gentoo Linux;
SUSE Linux Enterprise Server 12 and 15;
openSUSE Leap 15.1;
It should be possible to use Oracle VM VirtualBox on most systems based on Linux kernel 2.6, 3.x, 4.x, or 5.x using either the Oracle VM VirtualBox installer or by doing a manual installation. See Section 2.3, “Installing on Linux Hosts”. However, the formally tested and supported Linux distributions are those for which we offer a dedicated package.
Note that Linux 2.4-based host OSes are no longer supported.Oracle Solaris hosts (64-bit only). The following versions are supported with the restrictions listed in Known Limitations:
Oracle Solaris 11;
For the convenient installation of the Link server, you can use SSH and telnet client PuTTY.
General information
First, the Link must be installed and configured on a computer to work correctly and provide access in a web browser. It can be done with the help of:
multiple Docker containers and deployed with Docker Compose (the recommended installation way) as described below;
Oracle VM VirtualBox as described here;
There are several Link server variations, so before the installation choose the one that is required:
Link without SIP and without web proxy;
Link without SIP and with web proxy;
Link with SIP and without web proxy;
Link with SIP and with web proxy;
Versions with SIP are recommended only for Linux OS installation.
Versions with web proxy are recommended if Link is going to be used as a public server and the connection will be via secure https protocol.
Versions without web proxy are recommended if Link is going to be used in a local network and the connection will be via http protocol.
In the beginning, you get the Link basic version with the options of communication (messages, announcements, polls), remote device configuration, some kinds of identifiers creation and management, guest access, and partial elevator module functionality (device web interface). For advanced server options (the Link app, dial service for concierge, built-in SIP server, custom logo, etc.), you need to buy a license. More details about functionality can be provided with licenses you can find in the corresponding tab.
Used ports
The application uses the following ports:
5060 TCP/UDP: unencrypted SIP traffic port;
5061 TCP: port for SIP using TLS;
80 TCP: HTTP port;
443 TCP: HTTPS port;
6001 TCP: WebSocket port;
10000-20000 UDP: RTP ports for audio/video;
1883 TCP: unencrypted MQTT;
8883 TCP: encrypted MQTT;
If SIP proxies and nodes are running on more than one server with the Link server application, then the following ports must be forwarded to them:
48080: SIP proxy management port;
48081: SIP node management port;
Installing Link under Linux using Docker
Install Docker for your distro. The example below uses the installation for Ubuntu.
# Remove old versions sudo apt-get remove docker docker-engine docker.io containerd runc # Configure the repo ## Update apt index and install dependencies sudo apt-get update sudo apt-get install \ apt-transport-https \ ca-certificates \ curl \ gnupg \ lsb-release ## Add Docker GPG key curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg ## Add repo echo \ "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \ $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null # Install Docker sudo apt-get update sudo apt-get install docker-ce docker-ce-cli containerd.io
Install docker-compose for your distro.
# Download docker-compose sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose # Grant execute permission for the file sudo chmod +x /usr/local/bin/docker-compose # Add symlink sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
Clone the necessary project from our GitHub with the help of command.
git clone https://github.com/basip/link.git
Create the necessary volumes in advance, with help of the command:
docker volume create name
Name changes depending on the volume name to be created. The list of required volumes (with external: true values) you can find at the end of the docker-compose.yml file.
So, according to the example, the following commands must be done:docker volume create app-data docker volume create app-storage docker volume create system-logs docker volume create app-ssl-certs docker volume create brocker-data
If you are installing a version with a web proxy:
Copy the env.example file and name this copy as .env.
In the .env file you must enter the following data:
your Link server address, e.g. link.bas-ip.com for HTTPS_DOMAIN field;
production for HTTPS_MODE field;
These parameters are required for correct encryption certificates to work.
Go to the folder of the version you want to install. For example, for the version with SIP, the command is:
cd link/with-sip
If you install version without SIP, the command is:
cd link/without-sip
Run the project.
docker-compose up -d
You can improve the productivity of extensive projects by doing the following Docker configuration:
Change the userland-proxy attribute to false in the docker configuration /etc/docker/daemon.json file. If there is no such file, then create it with the content
{"userland-proxy": false}
This completes the installation of the Link server. You have access to the web interface. You can learn more about it in the First authorization and the server initial setup section.
Always perform external backups before any server updates to prevent data loss and mitigate potential disruptions.