Jemand Erfahrungen, einen eigenen Chat Server zu betreiben?

Meine Fragen dazu:
Welche Hardware ist von Nöten um ein XMPP Server privat (nur ausgewählte dürfen sich registrieren) zu betreiben? Reicht ein Raspi 3 ?
Welche Software als Server?
Was gibt es zu beachten an der Konfiguration?
Wie sieht es mit Angriffen auf die verwendete IP aus, laufen die Logs über oder nur das übliche gescanne?

Und wenn das dann läuft:
Wie richte ich das ganze als hidden Service im Tor Netzwerk ein? Macht das Sinn, bringt das Vor- Nachteile?

Es reicht ein Rasbpi aus. Für den genannten Anwendungszweck („nur Ausgewählte“) wäre Snikket als Serversoftware überlegenswert.

Mehr Infos zu Servern, Konfiguration, Serversoftware sowie Anleitungen:
https://www.freie-messenger.de/xmpp/server/#profitipp-eigener-server

Rückfragen gerne auch im öffentlichen Chatraum zu Jabber(XMPP).

1 „Gefällt mir“

Seit über 13 Jahren läuft bei mir nextcloud. Nextcloud Talk bietet für den kleinen Kreis Familie & Freunde, die mitmachen wollen hinreichend gute Messenger und Audio- und Videocall Funktionalität.

OK, google-frei funktioniert die Benachrichtiung nicht, also ping Du hast Post. Ich finde das ein Feature, ich bestimme wann ich meine Nachrichten lese und lasse mich nicht permanent aus meinem Leben ablenken. Ich bleibe fokussiert.

Während Corona hatte ich sogar den high performance Talk/spreed-server am Laufen, da sind Videocalls mit bis zu 60 Teilnehmern drüber gelaufen.
Also beruflich muss ich den ganzen MS Dingsbums nutzen. Ehrlich, ich finde Nextcloud inzwischen besser – ganz ohne die Datenschutzvorteile zu nennen.

Die Jungs haben ein Krönchen verdient. :crown: :grinning: :crown:

Dann gibt es noch dass hier, da liebäugel ich mit:

https://kb.mailbox.org/en/private/faq-article/introduction-to-jabber-xmpp

Yunohost hat einen XMPP Server standardmäßig on board.
Läuft auf Raspi 3/4.

By default, YunoHost comes installed with an instant messaging server called Metronome which implements the XMPP protocol (previously known as Jabber).

This protocol is already used by millions of people around the world—it is an open protocol. All applications based on XMPP are compatible with each other: When using an XMPP client, you can interact with anybody who has an XMPP account.

XMPP is an extensible protocol—this means users can configure „extensions“ to chatrooms, share messages and files, and make voice and video calls using XMPP.

Ich betreibe einen XMPP-Server für aktuell fünf Personen bzw. neun Accounts. Ich nutze Prosody auf OpenBSD, welches wiederum auf einem alten, virtuellen Server bei Ionos läuft. Die Hardware-Daten laut Website sind:

Typ: Cloud Server M
CPU: 2 vCore
RAM: 2 GB
SSD: 80 GB

Prozessor laut sysctl ist Intel(R) Xeon(R) Gold 6230R CPU @ 2.10GHz. Kostet mich exakt 5 Euro im Monat. Ggf. gibt es bei einem anderen Anbieter mittlerweile bessere Angebote. Zumindest Ionos’ neue VPS-Produkte sind offenbar limitiert bzgl. IPv6 und Betriebssystemauswahl. Vielleicht würde ich heute sogar auf ARM setzen.
Nebenbei kommt nginx und coturn zum Einsatz.

Konfiguiert gemäß Prosodys Dokumentation bzw. dem Compliance Tester von Conversations. Letzterer hilft dir, indem er dir Anweisungen oder den Link zum Modul zum Einrichten gibt. Wichtig war mich noch, dass ich die Limits und Speicherdauer von Dateien der User so gewählt habe, dass die Nutzer und das System mit 80 GB auskommen.

Ich habe lediglich die Firewall des Betriebssystems konfiguriert, bei Prosody noch ein Rate-Limit eingestellt und nginx sowie coturn nach bestem Gewissen / Internettipps angepasst. Die Passwörter der Nutzer sind lang und zufällig.

Zu Tor kann ich nichts sagen.

Ich registriere die Nutzer manuell über prosodyctl. Das öffentliche Registrieren habe ich deaktiviert. Ggf. sind Einladungen etwas für dich. Ich kenne da allerdings nicht an aktuellen Stand.

Dem Einsatz von Prosody kann ich nur zustimmen. Für einen kleinen Personenkreis genau die richtige Software: schlank, gut konfigurierbar und einfach erweiterbar.

Ich habe hier den gleichen Stack seit ~8 Jahren in Betrieb.

Zusätzlich kommt noch Certbot (mit automatischem Reload der Zertifikate über die integrierte CLI, via Cron) und Backup der User-Daten.

Alle User nutzen Conversations mit OMEMO, was durch E2EE die Dateien auf dem Server verschlüsselt ablegt.

Ja bin da, aber wie kann man sich bemerkbar machen, bzw. was muss man tun um Fragen stellen zu können?

@Sternenstaub Du hast glaubt ich nicht ganz genau verstanden was ich möchte, oder ich hab mich nicht richtig geäußert? Aber passt irgendwie nicht richtig.

Das ist jetzt ein Betriebssystem mit vielen Diensten zum einhängen ins Netz, die Angriffsfläche sollte möglichst klein sein, zumindest das OS…

Mir schwebt ein Alpine Linux und Openfire vor.
Der Server wird nicht das Problem sein, er sollte so viele Features haben wie es gibt, gut konfigurierbar, ich würde gerne einiges anpssen was nicht so gefällt und nicht so wichtig ist.

Der Server wird bei mir zu Hause laufen.

Ist eine eigene Domain nötig, oder reicht eine Subdomain beim DynDNS Anbieter? Ist eine schnelle TLL Verbindung von Nöten?

Du nimmst im Idealfall das Betriebssystem, das du am besten absichern kannst.

Anstelle von Prosody kannst du auch ejabberd nutzen, dessen Einrichtung auch schon einmal im Blog beschrieben worden ist. Letzeres ist aber zum Beispiel nicht in den Pakten für OpenBSD enthalten, weshalb ich Prosody einsetze.

Du musst für diverse Features DNS-Records eintragen können. Sofern du auf die Features verzichten kannst oder dein DynDNS-Anbieter dir das Eintragen erlaubt, sollte es keine Probleme geben.

Mir sagt TLL nichts. Aber Download und Upload ist in meinen Augen für den reinen Chat uninteressant. Audio- und Videocalls sowie Dateiübertragungen sind dann Dinge, die limitieren bzw. limitiert werden.