Spreed.me + NC 9.0.52 Says I haven't configured... but I have

Hi there,

I’m just trying to get Spreed.me up and running with Nextcloud. As far as making it simple, there still seems a long way to go. I’m just wondering though if I’m going about this in a more complicated way than is necessary.

I saw in the release announcement that Spreed is now available for NextCloud 9.0.52, so I went and found it in the app section of Nextcloud. Oddly, it’s marked as experimental. Why, if it’s a headline feature of NC 9.0.52? Anyway, I install it and it tells me I need to configure the app as per the readme.md… which says I need to set up a Spreed.me server. So, I do. And then I modify the Spreed servers server.conf file as per readme.md. And the ownCloud app’s config.php file as per readme.md. And then I chown all of spreed’s files to be owned by the same user that Nginx uses to run Nextcloud.

Long story short, even after setting everything up, I still get a message from Nextcloud saying that the app isn’t configured and to follow the instructions in the readme.md (which I did). I filed a bug on GitHub with all of the log and config files, but I wondered if anyone here had any ideas. I also thought it could be useful ehre for other Nextclouders hitting the same problem.

Does anyone ( @jospoortvliet? ) have any ideas about getting past this “app not configured” message?

So, it turns out that the app saying it isn’t configured was because I missed also editing a third(!) configuration file, OwncloudConfig.js. I’m still having an issue getting the app to start, but I’ll put that in another post as it appears to be more of a permissions issue.

Well, you’re getting there… So I’d love for you to help me review a blog post about how to do it :stuck_out_tongue:

1 Like

aaand he fixed it… :wink:

Yeah, the biggest drawbacks for me is having to set up a STUN/TURN server and to have to use a separate browser profile just for chatting.

I’d love to!

Yeah, but I’m still having pretty major troubles setting it up. Ironically, setting up the SPreed server itself actually seems like the easy part. Getting the spreed app to access it is proving… a hair removal exercise. I got it basically working once, although without ssl (which my Nextcloud instance has), so websockets complained, as it requires ssl. Now I can’t even get the spreed app, to bring up the spreed server page. The spreed app loads the Nextcloud header and then times out loading the Spreed server page with a “headers truncated” error in the browser console. I think it’s either an error with the setup of how the spreed server accesses the SSL certs, or with my Nginx rewrite to get the subfolder requests to be forwarded to the spreed server.

Something that’s not clear in the spreed instructions is whether the “Full path to PEM encoded certificate chain.” should be the absolute path to Let’s Encrypt’s cert.pem or to chain.pem or to the fullchain.pem?

It’s also not clear what user the server should be run as. At first, I was presuming I needed to use the same user that Nginx uses for Nextcloud, however the entire path to the SSL certs from Let’s Encrypt are owned by root, so Spreed has permissions problems accessing the certs (if they’re even configured correctly at all).

By default it uses spreed.me’s stun server ( stun.spreed.me:443 ) so you don’t have to set one up. Might it be a good idea for decentralization / privacy reasons? Sure. But do you have to? It doesn’t look like it from the config file.

and to have to use a separate browser profile just for chatting.

Not sure what you mean by this, @oparoz . Could you explain more?

Ah, thanks. Their documentation doesn’t mention that.

For privacy reasons, it’s best to just disable WebRTC unless you’re a 100% confident in your ability to properly tune your browser’s config:

https://mozillamediagoddess.org/2015/09/10/webrtc-privacy/

At least you see it there, I can’t find it in the app area anywhere on my install!

It’s in Experimental (which is odd as it’s in the release announcement) and doesn’t seem to show up in searches. I believe you have to turn on an option to see experimental apps in the app section.

‘appstore.experimental.enabled’ => true/false,

Whether to show experimental apps in the appstore interface

1 Like

Got it going, nice. There are waaay more apps in here than expected.

There are waaay more apps in here than expected.

Just be careful with loading up a whole bunch of experimental apps. Some are pretty stable… others notsomuch.

I’ve no desire to do so, only really interested in spreed. Will be interesting to see how it compares to jitsi

Agreed. I’d love to hear your experiences. My experience of virtually all FOSS video chat solutions has been that they’ve all been extremely unreliable in terms of just getting consistent connections that stay up with both video and sound that are in sync. Hoping that Spreed will be different, or at least responsive to bug reports and feedback.

I installed it via the ppa because I’m lazy. Trying it standalone without integration it appears on a http connection it won’t request camera/mic permissions from Chrome. Over https through my apache proxy it errors trying to load unsafe scripts (I haven’t set up ssl on the back-end as yet).

Not wildly impressed so far. I guess I’ll need to generate systemd init scripts to get it to start automatically too.

Jitsi basically took care of everything for me and has been stable over several test conferences.
I won’t be a tool though, I’ll spend the time to set it up properly and test it over an ssl connection - I can’t see myself integrating it with NC for the moment though.

just as an update - I’m still working on a how-to for Spreed.ME but it is harder than I thought… It will be at least a week longer as next week is our hackweek and I’ll be in Stuttgart…

1 Like

So here’s a video showing spreed.ME integration. The page I scroll through is already in github.

https://cloud.nextcloud.com/s/8VDDRAvlYBZCYUt

What do you think?

And here is the full tutorial, feedback super welcome!
https://nextcloud.com/webrtc/

2 Likes

Thanks Jos. This looks super clear and well written. What I think I really need to know is how to configure nginx… :wink: