← Back to context

Comment by LoganDark

14 days ago

> I typed "Zulip docker compose" into DuckDuckGo, the first result was https://github.com/zulip/docker-zulip which has commits from today, so doesn't seem out-of-date.

Of course, that's where I started as well. However, when I tried to pull as described in the README:

    $ docker pull ghcr.io/zulip/zulip-server:11.5-0
    Error response from daemon: failed to resolve reference "ghcr.io/zulip/zulip-server:11.5-0": ghcr.io/zulip/zulip-server:11.5-0: not found

So I had to pull from `zulip/docker-zulip` instead, because that one actually does exist.

> Does https://zulip.readthedocs.io/projects/docker/en/latest/how-t... help?

It almost did, but Zulip's port 80 still would try to redirect to HTTPS, even when X-Forwarded-Proto said https.

Today (after I had made the comment you replied to), I tried setting `CONFIG_application_server__http_only: "true"` as should work according to https://github.com/zulip/docker-zulip/blob/add4339a92d3073d5... , but it appears the image I actually have is different, as /sbin/entrypoint.sh reads:

    if [ "$DISABLE_HTTPS" == "True" ]; then
        echo "Disabling https in nginx."
        crudini --set /etc/zulip/zulip.conf application_server http_only true
    fi

So I set DISABLE_HTTPS instead and that worked. It appears this has been removed according to https://github.com/zulip/docker-zulip/blob/add4339a92d3073d5... first committed two days ago, but that change seemingly hasn't reached the image I'm using? Either way I wasn't even upgrading so how would I find those docs?

> The official docker compose has databases set up already, I guess you were missing those from your ChatGPT created compose file.

I didn't even know how / to use the official docker compose because I didn't find documentation that explained what to do. I didn't see information in the repository on what to do and assumed its compose files were for development/testing.

> A quick click-through seems to suggest you landed on https://zulip.readthedocs.io/en/stable/production/install.ht... and then clicked on the prominent "Docker image" link on top which leads to a random location on the page. (at least on Firefox)

Using Safari; for me it leads to the "Zulip in Docker" section on the "Deployment options" page. It says only that the Docker image exists, and that using it increases the effort required (obviously). I followed the link to the Docker image and only read the README because that's usually where installation instructions are. I found none. At the bottom it says "See our main documentation" which I didn't follow because I thought it was just a link to Zulip's documentation which I had already established was near useless. Following it now, apparently it's Docker-unique documentation. Would've been helpful to have known that or for it even to have been indicated anywhere. But some of it still doesn't apply to the image I'm using since the ghcr.io one seemingly disappeared for some reason.

That is strange. `docker pull ghcr.io/zulip/zulip-server:11.5-0` works fine for me. So something seems off with your setup in general.

Hey -- Zulip developer who works on the Docker images here. I'm sorry you had so much trouble; that sounds like a really frustrating experience!

We were in the middle of a transition to a new Docker image when this news dropped. There was a short period where the new ghcr.io/zulip/zulip-server:11.5-0 image was broken (https://chat.zulip.org/#narrow/channel/31-production-help/to...) due to an overzealous Github Action which "helpfully" cleaned up the sub-images (see https://github.com/zulip/docker-zulip/pull/600). That's almost certainly what bit you when you first tried to pull. The image has been repaired and repushed, which is why pulls of it are working now.

The HTTP/HTPS complications you ran into are frustrations which we were specifically trying to address with the new image; and the documentation in https://zulip.readthedocs.io/projects/docker/ is specifically about the new image because we didn't expect new users to be starting fresh there but with the old image. For instance, the new image defaults to HTTP-only, since that's a much more common deployment mechanism with Docker these days. See https://zulip.readthedocs.io/projects/docker/en/latest/how-t...

It sounds like we need to do a better job of:

- Clarifying on the documentation it is for the ghcr.io/zulip/zulip-server images

- Updating the documentation link from the repo's README to be more explicitly the Docker Zulip documentation, and placing it more prominently

- Updating the links in the standard Zulip documentation to go to the new Docker documentation, and not to the repo's README.

I'll push those changes today.

We've got some instructions on moving to the new images (https://zulip.readthedocs.io/projects/docker/en/latest/how-t...), but because you don't have a lot of configuration set, this will mostly just be switching to our provided compose file.

If you have other questions or feedback, please drop by https://chat.zulip.org -- we're friendly, and happy to help out. :)

  • > If you have other questions or feedback, please drop by https://chat.zulip.org -- we're friendly, and happy to help out. :)

    I recall reading that there would be no support for my setup if I'm not clobbering an entire server with the official installation script:

    > If you decide to disregard our advice and use a server that hosts other services, we can’t support you

    So, I'm just thoroughly confused at this point about what one would be expected to do in my situation, and how they could come to learn that.

    • That's intended to be about if you're using the non-Docker install on a host which hosts other services. Docker installs are very much a supported setup!