LibrePortal
Sponsor
Install

Zulip

Threaded Team Chat

Team chat organised into topics, so busy conversations stay easy to follow, with phone and desktop apps for everyone

On this page
  1. At a glance
  2. What the install asks
  3. Addresses and ports
  4. Settings
  5. In its config file
  6. Tools
  7. Works with
  8. Privacy and security
  9. What leaves this server
  10. What LibrePortal turns off
  11. Sources
  12. Under the hood

Good to know before you install

Phone notifications only come through Zulip's push service (zulip.com), off unless you choose it at install; with it on, they are end-to-end encrypted, so zulip.com sees when one is sent but not what it says. Link previews, Gravatar and usage statistics are off by default, so the server fetches no linked pages and sends no email hashes; each can be turned on in this app's Privacy settings.

At a glance#

What it is
Threaded Team Chat Communication
Where it opens
Web Interface On its own port at http://your-server:port, or zulip.your-domain once you have a domain
Updates
Automatic A backup is taken first, and it rolls back if the update fails
Backups
Included Part of the daily backup when that's switched on
Copies
One per server
Needs
HTTPS, memory

There's no step-by-step guide for Zulip here yet. Everything below comes straight from the app catalogue, so it's what LibrePortal really does when you install it. For using Zulip itself, its own documentation is the place to go: github.com/zulip/zulip.

What the install asks#

When you install Zulip, LibrePortal asks for a little more than usual before it starts:

  • Owner email. The organization's owner signs in with this; its password is made for you and shown with the app's logins. Use the email your LibrePortal sign-in has, and single sign-on lands you in this account.
  • Quick settings

Addresses and ports#

Zulip has one port. LibrePortal picks a free port number for each when you install, so yours will differ from anyone else's. The Config tab's Network section shows them, and the app's Open button uses the right one.

What it isWho can reach itWith a domain
Web Interface Trusted places only zulip.your-domain

Settings#

These are Zulip's own settings on its Config tab. The settings every app shares, like backups, updates and where its data lives, are explained in App pages and settings.

SettingWhat it doesStarts as
Phone Notifications Zulip's phone apps only get notifications through zulip.com's push service. Choosing it registers this server there; notifications are end-to-end encrypted, so it sees when one is sent, not what it says.
Choices: Off, Zulip's service
off

In its config file#

A few more aren't on the Config tab yet. They live in the app's config file, described here so you know they exist. How to change them.

SettingWhat it doesStarts as
Name
CFG_ZULIP_DISPLAY_NAME
What this app is called on your dashboards. Leave empty to use its usual name Empty
Show on the LibrePortal Dashboard
CFG_ZULIP_SHOW_ON_DASHBOARD
Whether this app gets a shortcut on the front page of the LibrePortal WebUI, separate from any Dashy dashboard
Choices: true, false
true
Usage Statistics
CFG_ZULIP_TELEMETRY
Whether Zulip may send usage statistics to Zulip
Choices: true, false
false
Gravatar
CFG_ZULIP_GRAVATAR
Whether Zulip may look up people's pictures on gravatar.com, which tells it a hash of their email
Choices: true, false
false
Link Previews
CFG_ZULIP_LINK_PREVIEWS
Whether the server may fetch the pages people link to, to show a preview
Choices: true, false
false

Tools#

Zulip's Tools tab has 5 buttons for jobs you'd otherwise need a terminal for. Each one runs as a task, so you can watch it on the Tasks page and read what it did. More about Tools.

Create User AccountTested on 12.3.0

Add a Zulip user. Tick "Make administrator" for full rights.

Asks for: Email, Full name (optional), Password (optional), Make administrator
List UsersTested on 12.3.0

Every account on this server.

Reset User PasswordTested on 12.3.0

Set a new password for an existing user.

Asks for: User email, New password (optional)
Set Admin StatusTested on 12.3.0

Promote or demote an administrator.

Asks for: User email, Make administrator
Deactivate User AccountCan't be undoneTested on 12.3.0

Revoke access without deleting messages. Reversible from Zulip's organization settings.

Asks for: User email

Works with#

These are the other apps Zulip knows how to work with. Once it's installed, its page shows the same list with whether each one is connected. How this works.

  • Email: Sends invitations, password resets and missed-message emails through your mail server, from an account of its own. Needs the mail server to have a real certificate. LibrePortal sets this up by itself when both are installed.
  • Grafana: Shows dashboards for the apps that have one. works with every app
  • Prometheus: Collects metrics from the apps that can export them. works with every app
  • Uptime Kuma: Watches your apps and shows when one goes down. works with every app

Privacy and security#

All clear Zulip sends no usage reports, and LibrePortal turns off Gravatar and keeps phone push off until you opt in.

What leaves this server#

  • Phone push goes through Zulip's push service only if you choose it
  • Link previews fetch the pages people paste

What LibrePortal turns off#

  • Gravatar for profile pictures (switchable in Config)
  • Zulip's phone push relay (off until you opt in)

Licence: Apache-2.0. Audited: 21 October 2026. See the privacy of every app and the Promise.

Sources#

Under the hood#

  • It runs these images: ghcr.io/zulip/zulip-server:12.3-0@sha256:76a1ecc4ba5470869d9609ef1ec16497b410189918b2daba85862183a59aa275, zulip/zulip-postgresql:14@sha256:e71ba8616fa42cdc1b248f51263d9290c29681cb8c1992eb9b498af0bb656b29, memcached:1.6.45-alpine@sha256:6a089e37cbb8acd75c80c6c0667fe57ec54db68782fb1b3afb1d0eb265e50070, rabbitmq:4.2.9@sha256:00ffa1f5d019f57bcfb48e1ac5c5c42147fbe941a19e087c1cc1940976bdeb47, redis:7.4.11-alpine@sha256:d9436322172a5b482c187bf1f363d3c4fea086fcca6b9c8a94de8f0f39ed3193.
  • It can sit behind Authelia's sign-in once Authelia is installed.
  • Its own project and documentation: github.com/zulip/zulip

Ports, settings, tools and connections on this page are read from LibrePortal v0.10.97's app catalogue each time the guide is built.

Next steps