Compose: Getting started
Clone the repository:
git clone https://github.com/zulip/docker-zulip.git cd docker-zulip
Create your local configuration file from the example:
cp compose.override.yaml.example compose.override.yaml
compose.override.yamlis where deployment-specific configuration lives, and is not tracked in git so that pulling repository updates never conflicts with your local edits. The example file is the starting template; future upgrades may add new commented-out options to it that you can copy across.Configure the server settings; see Compose: Providing settings via environment.
Configure Compose: Configuring TLS.
Boot your Zulip installation for the first time, with:
docker compose pull docker compose run --rm zulip app:init
This will boot all of Zulip’s dependencies, then verify the configuration and perform the initial database configuration. After a minute or two, the configuration should complete, ending with:
=== End Initial Configuration Phase ===
If the output does not end with that, read the output carefully for warnings or errors.
Now that we know configuration completed successfully, you can start Zulip:
docker compose up zulip --wait
Generate a link to create a new organization:
./manage.py generate_realm_creation_linkOpen that link in a browser to complete the organization creation steps and log in.
If you elected to use a self-signed certificate, your browser will require that you click past a security warning.
If you see other errors related to your TLS configuration, you may need to revisit Compose: Configuring TLS; after making any changes, re-run:
docker compose up --wait
Next steps
Learn how to get your organization started using Zulip at its best.