Commit 7183730a authored by Juliusz Chroboczek's avatar Juliusz Chroboczek

Make the default list of ICE servers empty, update docs.

parent 6a4784da
# Installation # Installation
Build the server binary: ## Build the server binary
CGO_ENABLED=0 go build -ldflags='-s -w' CGO_ENABLED=0 go build -ldflags='-s -w'
Create a server certificate: ## Create a server certificate
mkdir data mkdir data
openssl req -newkey rsa:2048 -nodes -keyout data/key.pem -x509 -days 365 -out data/cert.pem openssl req -newkey rsa:2048 -nodes -keyout data/key.pem -x509 -days 365 -out data/cert.pem
Set the server administrator's username and password (optional): ## Set the server administrator credentials
This step is optional.
echo 'god:topsecret' > data/passwd echo 'god:topsecret' > data/passwd
Configure the list of STUN and TURN servers (optional): ## Set up a TURN server
This step is optional, but unless you set up a TURN server, your server
will be inaccessible from most enterprise and many university networks.
For best results, set up TURN over TCP on port 443 (HTTPS); if port 443 is
not available, port 1194 (OpenVPN) is a good choice.
The address of the TURN server is configured in the file
`data/ice-servers.json`. It should look like this:
[{
"urls":["turn:turn.example.com:443?transport=tcp"],
"username":"username",
"credential":"password"
}]
vi data/ice-servers.json The *username* and *password* should be the same as the ones in your TURN
server's configuration.
Set up a group ## Set up a group
A group is set up by creating a file `groups/name.json`. The available
options are described below.
mkdir groups mkdir groups
vi groups/public.json vi groups/public.json
...@@ -29,16 +49,25 @@ Set up a group ...@@ -29,16 +49,25 @@ Set up a group
"max-users":100 "max-users":100
} }
Copy the necessary files to your server: ## Copy the necessary files to your server:
Assuming you have set up a user *sfu*:
rsync -a sfu static data groups server.example.org:/home/sfu/ rsync -a sfu static data sfu@groups server.example.org:/home/sfu/
Run the server binary: ## Run the server binary:
ssh server.example.org ssh sfu@server.example.org
cd /home/sfu/
nohup ./sfu & nohup ./sfu &
If you are using *runit*, use a script like the following:
#!/bin/sh
exec 2>&1
cd ~sfu
exec setuidgid sfu ./sfu
If you are using *systemd*, use `Type=simple` in your service file.
# Locations # Locations
...@@ -98,7 +127,7 @@ specifies that any username will do. The empty dictionary ...@@ -98,7 +127,7 @@ specifies that any username will do. The empty dictionary
{} {}
specifies that any username will do and that password are not verified. specifies that any username will do and that passwords are not verified.
# Commands # Commands
......
[{"urls":["stun:stun.l.google.com:19302"]}] []
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment