Experimenting the Spreed.me feature under Nextcloud

It works great… Video/Audio and text.
Here is the way I tested it.

References :


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 :

  1. Anyone can access the spreedme if he knows the path , hence security problem
  2. 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

3 Likes