Zulip
-
Zulip
Zulip is a chat-server with a channel-like structure not unlike Discord or Slack. It is written in Python/Django, and focuses on Channels, Threads and Text-based discussions with integrated media. It uses a webchat interface, there are Electron Apps for Apple, Linux and Windows and there are Flutter Apps for iOS and Android.
Zulip offers integrations, one of them is Jitsi. You can start a Jitsi room with one click from Zulip with Jitsi integration. Channel members have access to that room. This gives you Voice chat, Video Chat and Screen Sharing, and if configured, Recording.
Zulip can do File Hosting and Sharing as based of Channel media integration. Media can be hosted locally or in S3.
Zulip is available as Open Source, for self-hosting, as a host-installation or a docker-compose based image. You can also rent hosted Zulips on zulip.com, but the pricing is targeted at Enterprises: It is user-based, and comes in at $8 to $15 per user per month. This is not a viable hosting model for most casual users.
Zulip allows username/password authentication with email verification, OIDC, SAML, LDAP/AD so you can do "Login with Google, Apple, Github, Gitlab, EntraID, Okta" and a few more.
Channels can have incoming mail addresses, and incoming mails are rate-limited.
There is a detailed permission and access control system that is targeted for Enterprise use-cases.
There is a limited end-user controlled permission system that is targeted for Enterprise use-cases. There is no Ban, but there is ignore/mute – you can mute DM from offensive users, mute users in channels, mute keywords and channels. Muted messages generate no notifcation and are shown greyed out, if you wish.
The lack of an outright ban/block feature is a serious limitation for use in a secure open online space.
The installed components named in the installation and build process are the Django App, Postgres, RabbitMQ and for good measure Memcached AND Redis. There seems to be an internal Puppet at work to apply config file content to actual components (probably serverless puppet).
The project seems to be manageable for people at the Nerd level, but it is not casually manageable for muggles in self-hosting and the pricing model is unattractive for casual open spaces. The tooling is not primarily geared for casual open spaces.
The project scales well: the components can be hosted on multiple dedicated machines. Scaleout and HA configurations require an intimate knowledge of the internals, and probably commercial support from Zulip (which can be bought). It can support audiences the size of very large Enterprises.
-
A alsternerd@akkoma.alster.space shared this topic