Nutzung von Nextcloud aus Discourse heraus

Hallo Zusammen,

ich habe eine neue Discourse installation V.3.5.0 auf einer Virtuellen Maschiene mit Ubuntu. Standardinstallation. Diese ist über eine öffentliche https://discourse.domain.de erreichbar.
Daneben habe ich eine Nextcloudinstallation in einem Dockersystem, die auch öffentlich erreichbar ist. https://cloud.domain.de.
Das funktioniert alles für sich wunderbar.

Nun möchte ich in Discourse den Mitgliedern bestimmter Gruppen die Möglichkeit geben auf der Nextcloud in einem Ordner Dateien hochzuladen, u.U mit Onlyoffice zu bearbeiten und dort zu sammeln.

Ich würde ungern einen öffentlichen Link für den Nextcloudordner mit Passwort erstellen. Das funktioniert zwar, aber ich kann nicht kontrollieren, wer alles die Kombination aus Link und Passwort ausserhalb des Forums nutzt.
Ausserdem ist so der Einsatz von Onlyoffice nicht möglich.

Alle User von Discourse auch in Nextcloud anzulegen ist zu viel Arbeit.

Zusätzlich eine Authelia Instanz mit eigener Loginoberfläche, Gruppenverwaltung für Discourse und Datenbank erstellung aufzubauen ist mir ehrlich gesagt zuviel Arbeit.

btw.:
Es gibt eine NAS, in deren Dockersystem ich Redis, Postgresql hinter pgbouncer, postfix, Nextcloud und onlyoffice hoste und per clamav überwache. Die NAS hostet auch die VM mit Ubuntu, in der Discourse läuft. Alles zusammen hängt hinter einem NGINX als Reverseproxy.

Daher die Frage:

Wie gelingt die Nutzung der Nextcloud aus Discourse heraus?

Vielen Dank für Ideen

Doc

2 „Gefällt mir“

GitHub - discourse/discourse-auth-proxy: An http proxy that uses the DiscourseConnect protocol to authenticate users könnte Ihren Anforderungen entsprechen.

2 „Gefällt mir“

Wenn Sie Benutzer auf einer Website autorisieren möchten, indem Sie die Rechte auf einer anderen Website überprüfen, müssen Sie sie nur integrieren. Das ist viel Arbeit. Ich habe es einmal gemacht und musste eine Schnittstelle mit DiscourseConnect entwickeln. Ich denke, das ist eigentlich am einfachsten. Ein paar Stunden Entwicklung. Ich bin mir nicht sicher, wie einfach es ist, etwas in NextCloud einzubinden, es scheint möglich zu sein.

1 „Gefällt mir“

Oh, das wusste ich nicht. Aber es erlaubt Ihnen nicht zu sagen, wer auf was zugreifen kann, oder? Es erlaubt Ihnen, die gesamte Website zu sichern, sodass nur die Benutzer des Forums sie sehen können. Aber wenn sie sie sehen, können sie alles sehen.

Sie können beim Start eine Liste zulässiger Gruppen angeben.

Richtig, Sie würden also nicht unbedingt die gesamte Website dahinter stellen, vielleicht nur einen bestimmten Pfad oder einen magischen Hostnamen.

Es würde definitiv etwas Bastelei erfordern, um es zum Laufen zu bringen, aber es könnte ein geeigneter Baustein sein, von dem man ausgehen kann.

1 „Gefällt mir“

Ich nutze gerne Webhooks und Automatisierungsplattformen, hier ist also, wie ich es schnell machen würde!

  1. Webhooks einrichten, einen für das Beitreten zu einer Gruppe in Discourse und einen für das Verlassen der Gruppe
  2. Die Webhooks auf einer Automatisierungsplattform abfangen und für Nextcloud formatieren; ich benutze dafür huginn :black_bird:
  3. Benutzer erstellen/zu Gruppen hinzufügen über die Nextcloud API

Auf diese Weise lädst du Benutzer zur Discourse-Gruppe ein oder entfernst sie daraus, um die entsprechende Nextcloud-Gruppe zu verwalten. Es gibt einige Entscheidungen bezüglich Benutzerkonten, Passwörtern usw. zu treffen. Dies ist eine schnelle Möglichkeit, Leuten den Zugriff auf eine externe Website von Discourse aus zu ermöglichen. :slight_smile:

1 „Gefällt mir“

Schön! Ich habe mir schon immer eine nahtlosere Integration zwischen Discourse und Nextcloud gewünscht, die ich für meine Familien-Website nutze. Was mir wirklich fehlt, ist die Möglichkeit, in Discourse einfach über Dateien auf Nextcloud zu sprechen, z. B. über ein Foto oder eine PDF-Datei.

Ich habe Single Sign-On mit der Nextcloud-App Social Login eingerichtet. Damit kann ich Discourse-Gruppen auf Nextcloud-Gruppen abbilden, um verschiedenen Personengruppen den Zugriff auf verschiedene Nextcloud-Ordner zu ermöglichen. Wenn das Konto in Nextcloud noch nicht existiert, wird es automatisch hinzugefügt, wenn sie sich zum ersten Mal über meine Discourse-Website anmelden.

2 „Gefällt mir“

Das ist der Weg, den ich mir jetzt vorgenommen habe. Discourse mit SSO im “Vordergrund” und Nextcloud und dortige Gruppenberechtigungen im “Hintergrund”. Nextcloud muss ohne eigenliche Benutzerberechtigungen auskommen.
Ich werde berichten, wie es läuft. Ich schaue mir die App nochmal an!

Vielen Dank!

1 „Gefällt mir“