Skip to content

Commit b93ee3d

Browse files
committed
Dockerfile: Push images to ghcr.io/zulip/zulip-server.
This separates it from the zulip/docker-zulip image on Docker Hub, which will continue to get backwards-compatible updates through 11.x.
1 parent b6ad87b commit b93ee3d

File tree

11 files changed

+136
-124
lines changed

11 files changed

+136
-124
lines changed

.github/workflows/cleanup.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
name: Daily GHCR untaged docker-zulip cleanup
1+
name: Daily GHCR untagged docker-zulip cleanup
22

33
on:
44
schedule:
@@ -17,6 +17,6 @@ jobs:
1717
with:
1818
delete-only-untagged-versions: "true"
1919
min-versions-to-keep: 10
20-
package-name: "docker-zulip"
20+
package-name: "zulip-server"
2121
package-type: "container"
2222
token: ${{ github.token }}

.github/workflows/dockerfile-build.yaml

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
---
2-
name: Build and push images to ghcr.io/zulip/docker-zulip
2+
name: Build and push images to ghcr.io/zulip/zulip-server
33

44
on:
55
push:
@@ -11,6 +11,9 @@ on:
1111

1212
permissions: {}
1313

14+
env:
15+
PACKAGE_NAME: ghcr.io/zulip/zulip-server
16+
1417
jobs:
1518
build:
1619
strategy:
@@ -40,7 +43,7 @@ jobs:
4043
id: meta
4144
uses: docker/metadata-action@c299e40c65443455700f0fdfc63efafe5b349051 # v5
4245
with:
43-
images: ghcr.io/${{ github.repository }}
46+
images: ${PACKAGE_NAME}
4447
tags: |
4548
type=ref,event=branch
4649
type=match,pattern=\d+\.\d+-\d+
@@ -76,7 +79,7 @@ jobs:
7679
context: .
7780
platforms: ${{ matrix.platform }}
7881
pull: true
79-
tags: ghcr.io/${{ github.repository }}
82+
tags: ${PACKAGE_NAME}
8083
labels: ${{ steps.meta.outputs.labels }}
8184
annotations: ${{ steps.meta.outputs.annotations }}
8285
build-args: |
@@ -119,7 +122,7 @@ jobs:
119122
id: meta
120123
uses: docker/metadata-action@c299e40c65443455700f0fdfc63efafe5b349051 # v5
121124
with:
122-
images: ghcr.io/${{ github.repository }}
125+
images: ${PACKAGE_NAME}
123126
labels: |
124127
org.opencontainers.image.description=Zulip Server
125128
annotations: |
@@ -147,10 +150,10 @@ jobs:
147150
docker buildx imagetools create \
148151
$(for tag in "${TAGS_LIST[@]}"; do echo "--tag"; echo "$tag"; done) \
149152
$(for annotation in "${ANNOTATIONS_LIST[@]}"; do echo "--annotation"; echo "$annotation"; done) \
150-
$(for reference in *; do printf "ghcr.io/${{ github.repository }}@sha256:%s\n" $reference; done)
153+
$(for reference in *; do printf "${PACKAGE_NAME}@sha256:%s\n" $reference; done)
151154
152155
- name: Inspect image
153156
run: |
154-
docker buildx imagetools inspect ghcr.io/${{ github.repository }}:${STEPS_META_OUTPUTS_VERSION}
157+
docker buildx imagetools inspect ${PACKAGE_NAME}:${STEPS_META_OUTPUTS_VERSION}
155158
env:
156159
STEPS_META_OUTPUTS_VERSION: ${{ steps.meta.outputs.version }}

.github/workflows/dockerfile.yaml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ jobs:
4444
uses: docker/build-push-action@263435318d21b8e681c14492fe198d362a7d2c83 # v6
4545
with:
4646
context: .
47-
tags: zulip/docker-zulip:pr-${{ github.event.pull_request.number }}
47+
tags: zulip/zulip-server:pr-${{ github.event.pull_request.number }}
4848
outputs: type=docker,dest=/tmp/image.tar
4949
build-args: |
5050
ZULIP_GIT_REF=${{ steps.get-sha.outputs.commit_sha }}
@@ -150,7 +150,7 @@ jobs:
150150
- name: Load image into kind
151151
run: |
152152
docker load --input /tmp/image.tar
153-
kind load docker-image zulip/docker-zulip:pr-${{ github.event.pull_request.number }} --name chart-testing
153+
kind load docker-image zulip/zulip-server:pr-${{ github.event.pull_request.number }} --name chart-testing
154154
155155
- name: Run chart-testing (install)
156156
id: chart-testing-install
@@ -194,7 +194,7 @@ jobs:
194194
- build
195195
- docker-compose-collect
196196
env:
197-
GITHUB_CI_IMAGE: ${{ github.repository }}:pr-${{ github.event.pull_request.number }}
197+
GITHUB_CI_IMAGE: zulip/zulip-server:pr-${{ github.event.pull_request.number }}
198198
strategy:
199199
fail-fast: false
200200
matrix:

README.md

Lines changed: 13 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -2,18 +2,22 @@
22

33
[![**docker** topic in **production-help** channel](https://img.shields.io/badge/zulip-join_chat-brightgreen.svg)](https://chat.zulip.org/#narrow/channel/31-production-help/topic/docker)
44

5-
`docker-zulip` is the official Docker container image for running a
6-
[Zulip server](https://zulip.com) in
7-
[production][prod-overview]. Built images are available from: [Docker
8-
Hub](https://hub.docker.com/r/zulip/docker-zulip):
5+
This is the official Docker container image for running a [Zulip
6+
server](https://zulip.com) in [production][prod-overview]. Built images are
7+
available from [ghcr](https://ghcr.io/zulip/zulip-server/)
98

109
```console
11-
$ docker pull zulip/docker-zulip:11.5-0
10+
$ docker pull ghcr.io/zulip/zulip-server:11.5-0
1211
```
1312

1413
Current Zulip version: `11.5`
1514
Current Docker image version: `11.5-0`
1615

16+
> [!NOTE]
17+
> A previous packaging of Zulip for Docker still exists on Docker Hub, as
18+
> [zulip/docker-zulip](hub.docker.com/r/zulip/docker-zulip). That version will
19+
> continue to be supported through the end of the Zulip Server 11.x series.
20+
1721
We recommend using the Docker image if your organization has a
1822
preference for deploying services using Docker. Deploying with Docker
1923
moderately increases the effort required to install, maintain, and
@@ -25,7 +29,7 @@ installer][normal-install].
2529

2630
## Prerequisites
2731

28-
To use `docker-zulip`, you need the following:
32+
To use this image, you need the following:
2933

3034
- An installation of [Docker][install-docker] and
3135
[Docker Compose][install-docker-compose] or a Kubernetes runtime
@@ -436,10 +440,9 @@ PRs. Some particularly useful ways to contribute right now are:
436440

437441
## Credits
438442

439-
Huge thanks to everyone who has contributed. Special thanks to
440-
[Alexander Trost](http://github.com/galexrt/), who created
441-
`docker-zulip` and did a huge amount of the early work required to
442-
make a high-quality Docker image for Zulip possible.
443+
Huge thanks to everyone who has contributed. Special thanks to [Alexander
444+
Trost](http://github.com/galexrt/), who created the first Docker packaging of
445+
Zulip Server.
443446

444447
[install-normal]: https://zulip.readthedocs.io/en/latest/production/install.html#installer-options
445448
[outgoing-email]: https://zulip.readthedocs.io/en/latest/production/email.html

UPGRADING.md

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -24,20 +24,19 @@ All of the instructions below assume you are using the provided
2424
Note that `docker-zulip` did not support for Zulip's built-in
2525
`restore-backup` tool before Zulip 3.0.
2626

27-
1. Pull the new image version, e.g. for `2.0.8` run:
27+
1. Pull the new image version, e.g. for `11.5` run:
2828

2929
```shell
30-
docker pull zulip/docker-zulip:2.0.8-0
30+
docker pull ghcr.io/zulip/zulip-server:11.5-0
3131
```
3232

3333
We recommend always upgrading to the latest minor release within a major
3434
release series.
3535

36-
2. Update this project to the corresponding `docker-zulip` version and resolve
36+
2. Update this project to the corresponding image version and resolve
3737
any merge conflicts in `docker-compose.yml`. This is important as new Zulip
3838
releases may require additional settings to be specified in
39-
`docker-compose.yml` (E.g. authentication settings for `memcached` became
40-
mandatory in the `2.1.2` release).
39+
`docker-compose.yml`
4140

4241
**Note:** Do not make any changes to the database version or volume. If there
4342
is a difference in database version, leave those unchanged for now, and
@@ -51,7 +50,7 @@ All of the instructions below assume you are using the provided
5150

5251
```yaml
5352
zulip:
54-
image: "zulip/docker-zulip:2.0.1-0"
53+
image: "ghcr.io/zulip/zulip-server:11.5-0"
5554
```
5655
5756
4. You can execute the upgrade by running:
@@ -79,7 +78,7 @@ docker compose exec -u zulip zulip cat /home/zulip/deployments/current/version.p
7978

8079
```yaml
8180
zulip:
82-
# image: "zulip/docker-zulip:2.0.1-0"
81+
# image: "ghcr.io:zulip/zulip-server:11.5-0"
8382
build:
8483
context: .
8584
args:
@@ -90,7 +89,7 @@ docker compose exec -u zulip zulip cat /home/zulip/deployments/current/version.p
9089
9190
You can set `ZULIP_GIT_URL` to any clone of the zulip/zulip git repository,
9291
and `ZULIP_GIT_REF` to be any ref name in that repository (e.g. `main` or
93-
`1.9.0` or `445932cc8613c77ced023125248c8b966b3b7528`).
92+
`11.5` or `3ca9cefbb3a380c9563eb665940952e572a1fb60`).
9493

9594
2. Run `docker compose build zulip` to build a Zulip Docker image from the
9695
specified Git version.
@@ -99,7 +98,7 @@ Then stop and restart the container as described in the previous section.
9998

10099
## Upgrading to use Docker volumes (version 6.0-0 and above)
101100

102-
As of Docker Zulip 6.0-0, we have switched the volume storage from being in
101+
As of version 6.0-0, we have switched the volume storage from being in
103102
directories under `/opt/docker/zulip/` on the Docker host system, to using named
104103
Docker managed volumes. In your `docker-compose.yml`, you should either preserve
105104
the previous `/opt/docker/zulip/` paths for your volumes, or migrate the

compose.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ services:
6464
- "redis:/data:rw"
6565
attach: false
6666
zulip:
67-
image: "zulip/docker-zulip:11.5-0"
67+
image: "ghcr.io/zulip/zulip-server:11.5-0"
6868
restart: unless-stopped
6969
build:
7070
context: .

helm/zulip/CHANGELOG.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,8 @@
1+
## [1.11.51] - 2026-02-06
2+
3+
- Switch to the image at ghcr.io/zulip/zulip-server, which is compatible with
4+
the chart as written.
5+
16
## [1.11.50] - 2026-02-05
27

38
- Switch to a new `CERTIFICATES` env var, which combines of `DISABLE_HTTPS` and

helm/zulip/Chart.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,4 +44,4 @@ dependencies:
4444
sources:
4545
- https://github.com/zulip/zulip
4646
- https://github.com/zulip/docker-zulip
47-
- https://hub.docker.com/r/zulip/docker-zulip
47+
- https://ghcr.io/zulip/zulip-server

0 commit comments

Comments
 (0)