It works great… Video/Audio and text.
Here is the way I tested it.
References :
- https://apps.owncloud.com/content/show.php?content=174436&forumpage=9
- https://nextcloud.com/webrtc/
- https://hub.docker.com/r/spreed/webrtc/
my steps were:
I installed docker on the server
I installed the nextcloud addon :
yum -y install unzip docker
cd /var/www/html/nextcloud/apps
wget https://github.com/strukturag/nextcloud-spreedme/archive/master.zip
unzip master.zip
mv nextcloud-spreedme-master spreedme
goto nextcloud , admin , spreedme and generate a key
you will see the following errors :
config/config.php was not found.
extra/static/config/OwnCloudConfig.js was not found.
Copy the key you just generated as you need to paste it in the config.php below
access the folder /var/www/html/nextcloud/apps/spreedme/extra/static/config/
rename the file that is there to OwnCloudConfig.js
access the following folder : /var/www/html/nextcloud/apps/spreedme/config
cp config.php.in config.php
Change config.php to reflect the following:
-----------------------------config.php--------------------
<?php
/**
* Nextcloud - spreedme
*
* This file is licensed under the Affero General Public License version 3 or
* later. See the COPYING file.
*
* @author Leon <leon@struktur.de>
* @copyright struktur AG 2016
*/
namespace OCA\SpreedME\Config;
class Config {
// Domain of your Spreed WebRTC server (including protocol and optional port number), examples:
//const SPREED_WEBRTC_ORIGIN = 'https://mynextcloudserver.com';
//const SPREED_WEBRTC_ORIGIN = 'https://webrtc.mynextcloudserver.com:8080';
// If this is empty or only includes a port (e.g. :8080), host will automatically be determined (current host)
const SPREED_WEBRTC_ORIGIN = 'https://reallocalip:8443';
// This has to be the same `basePath`
// you already set in the [http] section of the `server.conf` file from Spreed WebRTC server
const SPREED_WEBRTC_BASEPATH = '/webrtc/';
// This has to be the same `sharedsecret_secret` (64-character HEX string)
// you already set in the [users] section of the `server.conf` file from Spreed WebRTC server
const SPREED_WEBRTC_SHAREDSECRET = '3e12c48e9939e4f14d12da748e47f2c5b593f30792e80a63db20b98696XXXXXX'; <<paste the key you just generated from within nextcloud admin , spreedme
// Set to true if at least one another Nextcloud instance uses the same Spreed WebRTC server
const SPREED_WEBRTC_IS_SHARED_INSTANCE = false;
// Set to true if you want to allow access to this app + spreed-webrtc for non-registered users who received a temporary password by an Nextcloud admin.
// You can generate such a temporary password at: /index.php/apps/spreedme/admin/tp (Nextcloud admin user account required)
const OWNCLOUD_TEMPORARY_PASSWORD_LOGIN_ENABLED = false;
// If 'OWNCLOUD_TEMPORARY_PASSWORD_LOGIN_ENABLED' is set to true, you also have to provide a signing key here (64-character HEX string)
// Generate it using `xxd -ps -l 32 -c 32 /dev/random` (better) or `openssl rand -hex 32`
const OWNCLOUD_TEMPORARY_PASSWORD_SIGNING_KEY = 'f20e1b84781d80570fef6e2969f61ba91ccb56922398a45eXXXXXXXXXXXXXXXX';<<<< leave as is
private function __construct() {
}
}
------------------------------end of config.php--------------------------
then run the following command:
docker run --rm --name my-spreed-webrtc -p 8080:8080 -p 8443:8443 -vpwd:/srv/extra -i -t spreed/webrtc
To access the spreedme server : https://serverip:8443
Make sure that spreedme is enabled on Nextcloud.
After you ensure that Spreedme is enabled. The trick to access the spreedme from within the nexcloud is to disable the tomcat since the port is conflicting with that of spreedme.
I tried to change the ports on spreedme docker but did not work, it insists on using the 8080 and the 8443
Issues I have :
- Anyone can access the spreedme if he knows the path , hence security problem
- Could not find a way to couple/bind spreedme with the LDAP
Quality of voice, video is great. Texting is very nice and fast unlike Ejabberd (yet ejabberd is still essential for other tasks).
Interface looks nice