Spreed / Collabora integration for ownCloud/Nextcloud?

Collabora / CODE / Libre Office Online provides the functionality to allow collaborative editing of documents. Spreed gives functionality similar to Skype’s web version. Both have apps that integrate them into Nextcloud / ownCloud. Both are highly desired by many users of both Nextcloud and ownCloud, but both have relatively long and tricky setup/configuration processes for less technical users to set up.

Providing easy install for document editing / audio + video calls are about the most common needs for people everywhere that aren’t provided in YunoHost already.

If we could provide an app that can be installed through the web interface for both Spreed and Collabora that integrate with current Nextcloud / ownCloud installs, it would help massively with adoption of both SPreed, Collabora, Nextcloud, ownCloud and Yunohost, by making it easy for people to get off Skype, Google Docs, Microsoft OneDrive etc.

1 Like

Yes I agree. I’ll look into collaboration first

2 Likes

OK I looked into it but it’s way too complex for me… I also tried with my Docker container app, but it failed because of the nginx I suppose. I’ll try more with Docker first

OK so it works with pure Docker (haven’t tried again with my app)

  • Install Docker

  • Execute container docker run -t -d -p 127.0.0.1:9980:9980 -e "domain=cloud\.nextcloud\.com" --restart always --cap-add MKNOD collabora/code (replace “cloud.nextcloud.com” with the domain in which Owncloud is installed - without the path)

  • Add the self-signed certificate of the docker container inside Owncloud trusted certificates: docker exec containerID cat /etc/loolwsd/ca-chain.cert.pem >> /var/www/owncloud/resources/config/ca-bundle.crt (replace containerID with the container ID found with docker ps and owncloud with nextcloud if you use nextcloud instead)

  • Install the Collabora app in Owncloud/Nextcloud and in administration set the server as “https://localhost:9980

I think one also need to open the 9980 port in the firewall but Im not certain sudo yunohost firewall allow TCP 9980
Also note that the step with adding the certificate to owncloud is to be run again each time the docker container is restarted…

That’s tedious… But here are instructions for full compilation in case somebody feels motivated… https://apps.owncloud.com/content/show.php?content=174727&forumpage=0 (post by Luticus)

1 Like

hi all,
i migrate owncloud to nexcloud few days ago,
a user ask me if i can activate de collabora plugin for nexcloud wich i purposed in nextcloud;
i tried, but have surch errors :
collabora : ouverture .odt : test ko : Collabora en ligne : Impossible de se connecter à l’hôte “https://localhost:9980”. Merci de demander à votre administrateur de vérifier les paramètres du serveur Collabora. Le message d’erreur exact est : cURL error 7: Failed to connect to localhost port 9980: Connection refused

i tried with my domain.tld and opened the 9980 port with
yunohost firewall allow TCP 9980
-> new error :
Collabora en ligne : discovery.xml depuis “https://krashboyz.org” n’est pas une chaine XML bien formée. Merci de contacter l’administrateur de “https://krashboyz.org”.

need i to install other things more than just activating the plugin in nextcloud ?

thx for your help :wink:

isAAAc

Hi, yes you need to install a Collabora server… Currently I only managed to do it through Docker.
See the steps I shared above.

At the moment, I think this is way too tedious to be run in production. Plus you need a strong server to run this.

I don’t know if things gave changed since my last post though

thx for your answer :wink:

Bonjour,
Je ré-ouvre ce sujet, en Français hélas, mon anglais n’étant pas à un suffisamment bon niveau selon moi.

Voici ce que j’ai vu :

  1. Install the Collabora Online server

The following steps will download the Collabora Online docker, make sure to replace “cloud.nextcloud.com” with the host that your own Nextcloud runs on. Also make sure to escape all dots with double backslashes (\), since this string will be evaluated as a regular expression (and your bash ‘eats’ the first backslash.) If you want to use the docker container with more than one Nextcloud, you’ll need to use

'domain=cloud\\.nextcloud\\.com\|second \\.nexcloud\\.com'

instead. (All hosts are separated by |.)

docker pull collabora/code
docker run -t -d -p 127.0.0.1:9980:9980 -e 'domain=cloud\\.nextcloud\\.com' --restart always --cap-add MKNOD collabora/code

That will be enough. Once you have done that the server will listen on
“localhost:9980”. Now we just need to configure the locally installed
Apache reverse proxy.

  1. Install the Apache reverse proxy

On a recent Ubuntu or Debian this should be possible using:

  1. apt-get install apache2
  2. a2enmod proxy
  3. a2enmod proxy_wstunnel
  4. a2enmod proxy_http
  5. a2enmod ssl

Afterward, configure one VirtualHost properly to proxy the traffic. For security
reason we recommend to use a subdomain such as office.nextcloud.com
instead of running on the same domain. An example config can be found
below:

                <VirtualHost *:443>
  	ServerName office.nextcloud.com:443
  	# SSL configuration, you may want to take the easy route instead and use Lets Encrypt!
  	SSLEngine on
  	SSLCertificateFile /path/to/signed_certificate
  	SSLCertificateChainFile /path/to/intermediate_certificate
  	SSLCertificateKeyFile /path/to/private/key
  	SSLProtocol             all -SSLv2 -SSLv3
  	SSLCipherSuite ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES256-SHA:ECDHE-ECDSA-DES-CBC3-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:DES-CBC3-SHA:!DSS
  	SSLHonorCipherOrder     on
  	# Encoded slashes need to be allowed
  	AllowEncodedSlashes NoDecode
  	# Container uses a unique non-signed certificate
  	SSLProxyEngine On
  	SSLProxyVerify None
  	SSLProxyCheckPeerCN Off
  	SSLProxyCheckPeerName Off
  	# keep the host
  	ProxyPreserveHost On
  	# static html, js, images, etc. served from loolwsd
  	# loleaflet is the client part of LibreOffice Online
  	ProxyPass           /loleaflet https://127.0.0.1:9980/loleaflet retry=0
  	ProxyPassReverse    /loleaflet https://127.0.0.1:9980/loleaflet
  	# WOPI discovery URL
  	ProxyPass           /hosting/discovery https://127.0.0.1:9980/hosting/discovery retry=0
  	ProxyPassReverse    /hosting/discovery https://127.0.0.1:9980/hosting/discovery
  	# Main websocket
  	ProxyPassMatch "/lool/(.*)/ws$" wss://127.0.0.1:9980/lool/$1/ws nocanon
  	# Admin Console websocket
  	ProxyPass   /lool/adminws wss://127.0.0.1:9980/lool/adminws
  	# Download as, Fullscreen presentation and Image upload operations
  	ProxyPass           /lool https://127.0.0.1:9980/lool
  	ProxyPassReverse    /lool https://127.0.0.1:9980/lool
  	</VirtualHost>

After configuring these do restart your apache using /etc/init.d/apache2 restart.

  1. Configure the app in Nextcloud

  1. Go to the Apps section and choose “Office & text”
  2. Install the “Collabora Online app”
  3. Admin → Collabora Online → Specify the server you have setup before (e.g. https://office.nextcloud.com)

Congratulations, your Nextcloud has Collabora Online Office integrated!

Je comprend donc que le Docker est installé avec Congratula n’est-ce pas ?

Quelqu’un a essayé cette version ?

Salut, oui ça marchait chez moi a l’époque mais il fallait un sous domaine dédié et mon serveur n’était pas assez puissant.
Je pense que c’est testable avec docker et redirect_ynh, mais ce serait mieux d’avoir un installeur en dur

Bon j’ai réessayé mais ca marche plus. Encore NGINX qui me bloque. S’il y a des chauds sur Nginx par ici ils sont les bienvenus :slight_smile:

@scith pour la conf nginx, est-ce que la proposition sur https://www.collaboraoffice.com/code/ peut t’aider ?

@tous : tous ceux qui tournent sur des proc 32 bits (les briques, les RPi jusqu’au 2 inclus) peuvent oublier : l’image docker n’est que 64 bits

:cry:

:cry:

Faudrait donc tout réinstaller avec Docker ?

Salut,

Après quelques essais (sic) j’ai réussi à faire fonctionner Collabora avec Yunohost. voilà comment je m’y suis pris:

  • J’ai créé un deuxième domaine (ex: lool.monyunohost.fr) avec conf DNS ok et certificat letsencrypt.
  • J’ai installé l’app “Custom Web” que j’ai configurée sur mon nouveau domaine , à la racine de celui-ci “/” et en accès public
  • Après j’ai ajouté directement dans le fichier de conf /etc/nginx/conf.d/lool.monyunohost.fr.conf la parti reverse proxy nginx conseillée dans tous les bonnes crémeries (comme ici )
  • un petit redémarrage du serveur nginx : sur debian : systemctl restart nginx.service
  • pour finir j’ai renseigné dans la conf de l’appli Nextcloud Collabora, le nouveau domaine.

Bon c’est un peu moche mais ça marche :slight_smile:

2 Likes

Any chance of a Yunohost app to set this up automatically? Even if it has to use Docker, it would be fabulous to be able to install / upgrade / remove this along with the other Yunohost apps, all from the one interface (added bonus the upgrade process could automatically include things like reinstalling the docker self signed certificate etc).

It seems to me that the key benefit of Yunohost is making self hosting easier by providing an easy to use interface to install stuff, and that this is the perfect candidate…

1 Like