Utilisation de Nextcloud depuis Discourse

Bonjour à tous,

J’ai une nouvelle installation de Discourse V.3.5.0 sur une machine virtuelle avec Ubuntu. Installation par défaut. Elle est accessible via une adresse publique https://discourse.domain.de.
À côté, j’ai une installation de Nextcloud dans un système Docker, qui est également accessible publiquement. https://cloud.domain.de.
Tout cela fonctionne très bien en soi.

Maintenant, je souhaite donner aux membres de certains groupes la possibilité dans Discourse de télécharger des fichiers dans un dossier sur Nextcloud, éventuellement de les éditer avec Onlyoffice et de les y rassembler.

Je préférerais ne pas créer de lien public pour le dossier Nextcloud avec un mot de passe. Cela fonctionne, mais je ne peux pas contrôler qui utilise la combinaison lien et mot de passe en dehors du forum.
De plus, l’utilisation d’Onlyoffice n’est pas possible ainsi.

Créer tous les utilisateurs de Discourse également dans Nextcloud représente trop de travail.

De plus, mettre en place une instance Authelia avec sa propre interface de connexion, la gestion des groupes pour Discourse et la création de bases de données représente honnêtement trop de travail pour moi.

Au fait :
Il y a un NAS, dans dont le système Docker j’héberge Redis, Postgresql derrière pgbouncer, postfix, Nextcloud et onlyoffice et je surveille via clamav. Le NAS héberge également la VM avec Ubuntu, dans laquelle Discourse fonctionne. Le tout est derrière un NGINX en tant que proxy inverse.

D’où la question :
Comment réussir à utiliser Nextcloud depuis Discourse ?

Merci beaucoup pour vos idées

Doc

2 « J'aime »

GitHub - discourse/discourse-auth-proxy: An http proxy that uses the DiscourseConnect protocol to authenticate users pourrait répondre à vos besoins.

2 « J'aime »

Si vous souhaitez autoriser les utilisateurs sur un site web en vérifiant leurs droits sur un autre site web, il vous suffit de les intégrer. C’est beaucoup de travail. Je l’ai fait une fois et j’ai dû développer une interface en utilisant DiscourseConnect. Je pense que c’est en fait le plus simple. Quelques heures de développement. Je ne suis pas sûr de la facilité d’intégration de quelque chose à NextCloud, cela semble être possible.

1 « J'aime »

Oh, je ne savais pas. Mais cela ne vous permet pas de dire qui peut accéder à quoi, n’est-ce pas ? Cela vous permet de sécuriser l’ensemble du site Web afin que seuls les utilisateurs du forum puissent le voir. Mais quand ils le voient, ils peuvent tout voir.

Vous pouvez spécifier une liste de groupes autorisés au démarrage.

C’est exact, vous ne mettriez donc pas nécessairement l’intégralité du site web derrière, mais peut-être seulement un certain chemin ou un nom d’hôte magique.

Cela nécessiterait certainement quelques bidouilles pour fonctionner, mais cela pourrait être un bloc de construction approprié pour commencer.

1 « J'aime »

J’aime utiliser les webhooks et les plateformes d’automatisation, voici donc comment je le ferais rapidement !

  1. Configurer les webhooks, un pour rejoindre un groupe dans Discourse, et un pour quitter le groupe
  2. Intercepter les webhooks sur une plateforme d’automatisation et les formater pour Nextcloud ; j’utilise huginn pour cela :black_bird:
  3. Créer des utilisateurs/ajouter à des groupes via l’API Nextcloud

De cette façon, vous invitez ou supprimez des utilisateurs du groupe Discourse pour gérer le groupe Nextcloud correspondant. Il y a quelques décisions à prendre concernant les comptes utilisateurs, les mots de passe, etc. C’est un moyen rapide de donner aux gens accès à un site externe depuis Discourse. :slight_smile:

1 « J'aime »

Génial ! J’ai toujours souhaité une intégration plus transparente entre Discourse et Nextcloud, que j’utilise pour le site de ma famille. Ce qui me manque vraiment, c’est la possibilité de parler facilement dans Discourse des fichiers sur Nextcloud, par exemple une photo ou un PDF.

J’ai configuré une authentification unique en utilisant l’application social login pour Nextcloud. Cela me permet de mapper des groupes Discourse à des groupes Nextcloud pour donner à différentes catégories de personnes l’accès à différents dossiers Nextcloud. Si le compte n’existe pas déjà dans Nextcloud, il est ajouté automatiquement lorsqu’ils se connectent pour la première fois via mon site Discourse.

2 « J'aime »

C’est la voie que j’ai choisie maintenant. Discourse avec SSO au “premier plan” et Nextcloud et ses autorisations de groupe en “arrière-plan”. Nextcloud doit se passer de véritables autorisations d’utilisateur.
Je vous dirai comment cela se passe. Je vais revoir l’application !
Merci beaucoup !

1 « J'aime »