- This app can only be used in conjunction with a Spreed WebRTC server.
You will not be able to use this app without such a server, but it's easy to set up one – The whole process only takes about 5-10 minutes – 2 minutes if you are fast ;).
- Securely communicate with your friends and family using rich audio-, video- and text chat right from your ownCloud installation – in your browser
- Share presentations and other documents and save them to your ownCloud
- Share your ownCloud presentations and other documents
- Share your computer screen
- Share YouTube videos
- Much, much more :)
Before setting up this app (+ Spreed WebRTC) you need to ask yourself a few questions:
- Do you want to run ownCloud and Spreed WebRTC on the same origin (i.e. on the same domain+port combination)?
(e.g. access ownCloud at https://myowncloudserver.com:8443 and Spreed WebRTC at https://myowncloudserver.com:8443/webrtc/) --> Then use /webrtc/ as your basePath for the next steps. - Do you want to run ownCloud and Spreed WebRTC on two different origins?
(e.g. access ownCloud at https://myowncloudserver.com:8443 and Spreed WebRTC at https://webrtc.myowncloudserver.com:8443) --> Then use an empty / no basePath for the next steps.
- Place this app in the apps/ folder of your ownCloud installation.
- Set up a Spreed WebRTC server and continue with the next step. An easy-to-follow installation guideline can be found further below, see Installation / Setup of a Spreed WebRTC server
- You now should have a running Spreed WebRTC server.
- This app requires you to change some settings in the
server.conf
of the Spreed WebRTC server (webrtc.conf
if you use the packaged version), namely:- In the [http] section:
- ONLY do this step if your basePath is not empty (see Preparations above):
Enable (= uncomment) basePath and set it to the basePath you determined above, e.g. /webrtc/
(e.g.basePath = /webrtc/
)
- ONLY do this step if your basePath is not empty (see Preparations above):
- In the [app] section:
- Enable authorizeRoomJoin and set it to true
(
authorizeRoomJoin = true
) - Enable extra and set it to the full absolute path of the spreedme/extra directory in your apps folder of your ownCloud installation
(e.g.extra = /absolute/path/to/owncloud/apps/spreedme/extra
) - Enable plugin and set it to extra/static/owncloud.js
(plugin = extra/static/owncloud.js
)
- Enable authorizeRoomJoin and set it to true
(
- In the [users] section:
- Enable enabled and set it to true
(enabled = true
) - Enable mode and set it to sharedsecret
(mode = sharedsecret
) - Enable sharedsecret_secret and set it to a random 64-character HEX string
Please note: Do NOT use the string given below. Generate your own random 64-character HEX string! You can generate your own 64-character HEX string by runningxxd -ps -l 32 -c 32 /dev/random
oropenssl rand -hex 32
(e.g.sharedsecret_secret = bb04fb058e2d7fd19c5bdaa129e7883195f73a9c49414a7eXXXXXXXXXXXXXXXX
)
- Enable enabled and set it to true
- Restart the Spreed WebRTC server for it to reload its configuration
- In the [http] section:
- Head over to the apps/spreedme/config folder in your ownCloud installation. Copy
config.php.in
toconfig.php
and adjust the constants as already done inserver.conf
:- Set
SPREED_WEBRTC_ORIGIN
to the origin of your WebRTC server
(e.g.const SPREED_WEBRTC_ORIGIN = 'https://webrtc.myowncloudserver.com:8443';
) - Set
SPREED_WEBRTC_BASEPATH
to the same basePath you already set in theserver.conf
file - Set
SPREED_WEBRTC_SHAREDSECRET
to the same sharedsecret_secret you already set in theserver.conf
file
- Set
- Head over to the apps/spreedme/extra/static/config folder in your ownCloud installation. Copy
OwnCloudConfig.js.in
toOwnCloudConfig.js
and adjust the constants as already done inserver.conf
andconfig.php
:- Set
OWNCLOUD_ORIGIN
to the origin of your ownCloud server
(e.g.OWNCLOUD_ORIGIN: 'https://myowncloudserver.com:8443'
)
- Set
- Enable this ownCloud app by browsing to /index.php/settings/apps
- That's it. You can now start communicating securely with your friends and family by opening /index.php/apps/spreedme of your ownCloud host in your browser.
For debugging, simply append?debug
to that URL.
- By default, all users who can log in to your ownCloud installation can also use this app (and spreed-webrtc)
- If you want to limit access to this app (and spreed-webrtc) only to a selected user-group, open ownCloud's user configuration site in your browser: /index.php/settings/users
- Create a new group there (e.g. "spreed.me"). For sure you can also use an existing group (like "admin")
- Now go to ownCloud's app configuration page /index.php/settings/apps, find this app and check Enable only for specific groups. Then add all groups which should be able to use this app.
- All users not in a group specified in the step above, will neither be able to use this app nor spreed-webrtc.
- Save the
config/config.php
and theextra/static/config/OwnCloudConfig.js
file of your current spreedme apps directory - Download a newer version of this app
- Replace the old folder with the new folder you just downloaded
- Copy back the two files (step 1) to the appropriate folders
- Consult CHANGELOG.md for changes you might need to follow
- If you're having trouble getting this app and Spreed WebRTC server to run, simply open /index.php/apps/spreedme/admin/debug of your ownCloud host in your browser.
It might contain information which can help to debug the issue.
- Head over to github.com/strukturag/spreed-webrtc and follow the instructions to install the Spreed WebRTC server.
For a packaged version (preferred) see github.com/strukturag/spreed-webrtc/wiki/Ubuntu-Repository
Please note: Your Spreed WebRTC server has to be publicly accessible.
You certainly want to adjust your nginx / Apache configuration accordingly. - Don't forget to set your own secrets in the [app] section of spreed-webrtc's config file. At the very least you should change sessionSecret and encryptionSecret.