NextCloud vraiment lent

Mon serveur YunoHost

Matériel: Acer Veriton X2631G - i3 4130 - 8GB Ram - 2To HDD
Version de YunoHost: 4.2.8.1 (stable)
J’ai accès à mon serveur : En SSH | Par la webadmin
Êtes-vous dans un contexte particulier ou avez-vous effectué des modificiations particulières sur votre instance ? : non

Description du problème

Depuis quelques jours, mon instance de NextCloud rencontre des soucis, elle est extrêmement lente.
Je mets parfois jusque 5 minutes avant que la page n’arrête de charger, affichant simplement un écran blanc. De plus, l’application Collabora (avec server installé comme app YunoHost) plante souvent, avec le message “Impossible d’établir la connexion au serveur Collabora Online.”
La synchronisation avec le mobile (application Android) est également impactée, avec l’impossibilité d’accéder ou d’envoyer des fichiers depuis le mobile vers le serveur.

Il semblerait que ça soit Collabora Online qui fasse ramer NextCloud, car après désactivation de l’application dans NextCloud, tout revient à la normale. Je vous redirige vers ce lien sur ce même forum :

Ce lient fait état d’un problème upstream avec les applications de type “richdocuments”.

Néanmoins, mon utilisation de NextCloud nécessite l’édition de documents directement dans NextCloud, afin de permettre l’accès à certains fichiers (en lecture seule) avec les liens de partage à de nombreuses personnes.

Si vous avez une idée, je suis preneur :slight_smile:

SI c’est pour de nombreuses personnes je t’encourage à opter plutôt pour OnlyOffice (en l’installant via l’app dédiée et le connecteur associé)

J’avais déjà installé OnlyOffice qui avait littéralement planté, sans trouver de solution.
Cette problématique se présente à nouveau lors de la tentative de connexion du connecteur de NextCloud au serveur OnlyOffice installé sur YunoHost :

Erreur durant la tentative de connection (cURL error 7: Failed to connect to office.domaine.tld port 443: Connection timed out (see libcurl - Error Codes) for https://office.domaine.tld/healthcheck)

A savoir que lorsque j’accède à office.domaine.tld (domaine modifié), je vois bien la page " ONLYOFFICE Docs Community Edition installed" et la page healthcheck affiche “true”. Le domaine office.domaine.tld possède également un certificat de sécurité SSL en cours de validité auprès de Let’s Encrypt (enregistré via l’interface d’administration de YunoHost).

EDIT :
J’ai tenté de modifier l’adresse URL de l’application OnlyOffice dans YunoHost en utilisant le nom de domaine par défaut et en ajoutant “/onlyoffice” pour ensuite tester la connexion dans NextCloud, ce qui retourne l’erreur suivante :

Erreur durant la tentative de connexion (Une erreur s’est produite dans le service de document: Error while downloading the document file to be converted.) (version 6.4.0.121)

J’ai bien entendu testé en cochant & décochant la case “Désactiver la vérification du certificat (non sûr)”.
NextCloud & OnlyOffice sont installées en tant qu’applications publiques sur le serveur YunoHost

J’ai pu faire fonctionner onlyoffice avec nextcloud. Onlyoffice doit être installé sur un domaine différent de celui de nextcloud. Par la suite j’ai eu un message me disant que tout est readonly pour l’interface mobile, je l’ai alors desinstallé puisque le plus gros de mes connections se font depuis un mobile.

@jarod5001 merci pour ton retour, néanmoins, lors de mes tests, j’ai toujours un des deux messages d’erreur ci-dessus.
Nextcloud est installé à la racine du domaine cloud.domain.tld
OnlyOffice est installé à la racine du domaine office.domain.tld
Les deux domaines ont un certificat de sécurité valide.

A tu essayé d’installer onlyoffice sur un domaine différent, je veux dire qu’il ne devrait pas être sur le même domaine principal (même en sous domaine). Je me rappelle avoir lu un truc de ce genre, et j’ai pas bien compris pourquoi mais je l’ai fait.
Nextcloud était en sous domaine d’un nom de domaine namecheap et onlyoffice sur un sous domaine yunohost. La connection se faisait bien.

tu penses que si je mets Nextcloud sur cloud.domain1.tld et OnlyOffice sur office.domain2.tld ça va fonctionner ?
Je veux bien tenter, mais l’entreprise refusera de m’attribuer un domaine racine entièrement dédié au serveur onlyoffice :confused:

Bon, moi j’ai fait comme ça.
Sinon la docu propose de faire comme ceci :

https://yunohost.org/fr/applications/docs/onlyoffice

C’est là que je bloque, car c’est déjà le cas avec cloud.domain.tld et office.domain.tld :confused:

Essai plutôt cloud.domain.tld et domain.tld/office ou l’inverse. L’un en sous domaine et l’autre en répertoire

J’ai testé en gardant nextcloud sur cloud.domain.tld et onlyoffice sur domain.tld/onlyoffice et j’ai cette erreur

Erreur durant la tentative de connexion (Une erreur s’est produite dans le service de document: Error while downloading the document file to be converted.) (version 6.4.0.121)

Le choix de garder nextcloud sur cloud.domain.tld est une prérogative de la part de l’entreprise. Changer conduirait au reparamétrage de tout le parc informatique, ce qui n’est pas souhaité par l’entreprise.

Voici les logs de OnlyOffice sur le serveur YunoHost

root@ynh:/var/log/onlyoffice/documentserver/converter# cat out.log

[2021-09-18T00:48:35.280] [WARN] nodeJS - update cluster with 1 workers

[2021-09-18T00:48:35.287] [WARN] nodeJS - worker 19832 started.

[2021-09-18T00:48:35.293] [WARN] nodeJS - update cluster with 1 workers

[2021-09-18T00:51:18.659] [ERROR] nodeJS - error downloadFile:url=https://cloud.domain.tld/apps/onlyoffice/empty?doc=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJhY3Rpb24iOiJlbXB0eSJ9.tb4NgaIkDfctaYPCrHiRscpfgg1A7kBdwMAWUWxj65o;attempt=1;code:ETIMEDOUT;connect:true;(id=convcheck12708326_docx)

Error: ETIMEDOUT

    at Timeout.<anonymous> (/snapshot/server/build/server/Common/node_modules/request/request.js:848:19)

    at ontimeout (timers.js:436:11)

    at tryOnTimeout (timers.js:300:5)

    at listOnTimeout (timers.js:263:5)

    at Timer.processTimers (timers.js:223:10)

[2021-09-18T00:54:10.216] [ERROR] nodeJS - error downloadFile:url=https://cloud.domain.tld/apps/onlyoffice/empty?doc=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJhY3Rpb24iOiJlbXB0eSJ9.tb4NgaIkDfctaYPCrHiRscpfgg1A7kBdwMAWUWxj65o;attempt=1;code:ETIMEDOUT;connect:true;(id=convcheck519505502_docx)

Error: ETIMEDOUT

    at Timeout.<anonymous> (/snapshot/server/build/server/Common/node_modules/request/request.js:848:19)

    at ontimeout (timers.js:436:11)

    at tryOnTimeout (timers.js:300:5)

    at listOnTimeout (timers.js:263:5)

    at Timer.processTimers (timers.js:223:10)

[2021-09-18T00:54:47.462] [ERROR] nodeJS - error downloadFile:url=https://cloud.domain.tld/apps/onlyoffice/empty?doc=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJhY3Rpb24iOiJlbXB0eSJ9.tb4NgaIkDfctaYPCrHiRscpfgg1A7kBdwMAWUWxj65o;attempt=1;code:ETIMEDOUT;connect:true;(id=convcheck1454395936_docx)

Error: ETIMEDOUT

    at Timeout.<anonymous> (/snapshot/server/build/server/Common/node_modules/request/request.js:848:19)

    at ontimeout (timers.js:436:11)

    at tryOnTimeout (timers.js:300:5)

    at listOnTimeout (timers.js:263:5)

    at Timer.processTimers (timers.js:223:10)

Je précise que le serveur OnlyOffice est bien accessible car j’accède à la page sans soucis, et que la page healthcheck de onlyoffice affiche “true”

C’est bizarre. On dirait que l’app onlyoffice connector de nextcloud est cassée.
Voici la documentation de cette app, ça pourrait vous intéresser :
https://api.onlyoffice.com/editors/nextcloud
Il cite en bas la possibilité de se connecter “en interne” pour contourner les erreurs de connexion.

J’ai lu (tant bien que mal) le lien que tu as fourni, et je ne parviens pas à trouver la mention d’une connexion interne à onlyoffice. Mon entreprise me laisse jusque Lundi pour démontrer l’efficacité d’un système open source, sinon je serai contraint de me tourner vers une solution propriétaire, arrêtée sur Office 365…

J’ai vraiment besoin de votre aide.
Même si il le faut, utiliser Collabora Online.
Le souci avec cette solution c’est que le connecteur rend NextCloud vraiment lent.

C’était un vrai calvaire à mettre en place, j’ai failli bousiller mon instance nextcloud.
Ce que j’ai fait :
Mon instance nextcloud est installée sur mondomaine.com/nextcloud
Onlyoffice insallé sur office.monyuno.nohost.me
Dans nextcloud > settings > onlyoffice (tout en bas dans ll’administration) je renseigne sur l’adresse du serveur onlyoffice et j’ai laissé la clé secrète vide (je sais pas si c’est grave ou pas)
Quand je valide en appuyant sur enregistrer j’obtenais une erreur. En cherchant sur le forum de nextcloud ils conseillent d’ajouter les lignes suivantes à la fin du fichier config.php de nextcloud juste avant la dernière parenthèse :

  'allow_local_remote_servers' => true,
  'onlyoffice'=>
   array ( 'verify_peer_off' => true, ),

Je suis revenu vers la page des paramètres onlyoffice dans nextcloud et j’ai validé > connexion établie.
J’arrive maintenant à lancer onlyoffice depuis nextcloud, mais comme je l’ai déjà dit, l’option mobile est désactivée. Donc, si personne n’utilise de tablettes ou de smartphones pour y accéder c’est bon. Il serait aussi important d’avoir les avis des utilisateurs sur le combo nextcloud-onlyoffice, certains parlaient de perte de données dans des versions antérieures.
Bon courage.

Édit : la fonction mobile est disponible. J’ai lu beaucoup de commentaires mécontents à propos de ce bridage il y a quelques mois. Je sais pas si c’est moi qui ai fait quelque chose de travers l’autre fois ou il y a eu du changement dans l’application.

Édit 2 : pour les domaines

yunohost.domain is your main YunoHost domain.
You have configured office.yunohost.domain for OnlyOffice, see Prerequisite above.
You have Nextcloud installed on yunohost.domain/nextcloud or nextcloud.yunohost.domain.

Un énooooooooorme merci pour ton aide !
J’ai effectué une sauvegarde du fichier config.php de NextCloud, et effectué sa modififaction.
Ensuite dans l’interface d’administration de YunoHost > Mises à jour, j’ai constaté qu’il y avait une mise à jour majeure de NextCloud (21 > 22) que j’ai donc effectuée.

En testant le connecteur OnlyOffice sur NextCloud, ça a fonctionné.
Néanmoins, je ne sais pas si c’est la modification du fichier de config, ou la mise à jour qui a corrigé le problème.
Le principal étant que ça fonctionne !
Un énorme merci à toi et les autres personnes de la communauté qui m’ont aidé, ici et sur le salon de discussion.

Mon nextcloud était déjà à jour (v22), ça n’a pas suffit, les modifications du fichier config ont fait la différence.

Reste à savoir ce qui empêche une utilisation normale (sans modifier le fichier de config).
En tout cas merci à toi, qui m’évite l’utilisation de Office 365 :smiley:

1 Like

Le truc de clé secrète, c’est quoi ? C’est important ? C’est OK de la laisser vide ?

C’est pas encore gagné.
J’ai essayé d’ajouter l’adresse du serveur onlyoffice à une instance nextcloud hébergée à distance sans fournir de clé, et la connexion s’est bien passée, malheureusement. Donc n’importe qui peut y accéder.

Il est conseillé de mettre en place une clé et activer la validation :

Le chemin du fichier config :
https://api.onlyoffice.com/editors/signature/

Puis il demande de redémarrer les services :
supervisorctl restart all

Mais la commande ne retourne rien et l’accès au serveur est toujours possible sans clé. J’ai redémarré nginx, rien n’a changé.

J’avoue ne pas m’être posé la question, mais comme tu le dis, ça doit permettre de protéger l’intégration de notre serveur OnlyOffice. Il faudrait savoir comment générer cette clé pour ensuite pouvoir l’utiliser, car si j’ai bien compris, tes tentatives ont été vaines, car le serveur OnlyOffice restait utilisable pour une instance NextCloud distante ?

Affaire à creuser afin de sécuriser au maximum l’installation :slight_smile:
Qu’en est-il de l’édition depuis le mobile ? Tu utilises une app spécifique ou directement l’application NextCloud, ou alors le navigateur mobile ?