Team chat organised into topics, so busy conversations stay easy to follow, with phone and desktop apps for everyone
On this page
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, orzulip.your-domainonce 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 is | Who can reach it | With 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.
| Setting | What it does | Starts 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.
| Setting | What it does | Starts as |
|---|---|---|
NameCFG_ZULIP_DISPLAY_NAME |
What this app is called on your dashboards. Leave empty to use its usual name | Empty |
Show on the LibrePortal DashboardCFG_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 StatisticsCFG_ZULIP_TELEMETRY |
Whether Zulip may send usage statistics to Zulip Choices: true, false |
false |
GravatarCFG_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 PreviewsCFG_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.
Add a Zulip user. Tick "Make administrator" for full rights.
Every account on this server.
Set a new password for an existing user.
Promote or demote an administrator.
Revoke access without deleting messages. Reversible from Zulip's organization settings.
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.