Docker installation

I’m following
https://docs.zammad.org/en/latest/install/docker-compose.html

On OpenSuse LEAP 15.4 I have installed:
docker-20.10.17_ce-150000.166.1
python3-docker-compose-1.25.1-bp154.1.16

But docker-compose up fails like


docker-compose up
Creating network "zammad-docker-compose_default" with the default driver
Creating volume "zammad-docker-compose_elasticsearch-data" with local driver
Creating volume "zammad-docker-compose_postgresql-data" with local driver
Creating volume "zammad-docker-compose_zammad-backup" with local driver
Creating volume "zammad-docker-compose_zammad-data" with local driver
Pulling zammad-memcached (memcached:1.6.10-alpine)...
ERROR: Get "https://registry-1.docker.io/v2/": dial tcp 44.207.96.114:443: i/o timeout
docker-compose up
Pulling zammad-memcached (memcached:1.6.10-alpine)...
ERROR: Get "https://registry-1.docker.io/v2/": net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)

Checking that URL:

curl https://registry-1.docker.io/v2/
{"errors":[{"code":"UNAUTHORIZED","message":"authentication required","detail":null}]}

Background:

We have a very old Zammad 3.4.0 installation. For migration I start with a new fresh installation, comparing the “From Source” installation with the “Docker installation”. From source has some dependencies for Ruby that OpenSuse LEAP doesn’t provide. OpenSuse TW would but may not be appropriate for production use. So I tried the docker approach.

Nobody has an idea? I’m following the official guide how to install Zammad via Docker and it does not work as expected.

Your error message isn’t related to Zammad at all. It indicates your system is trying to pull the docker images from (the private) docker.io instead of the public images on hub.docker.com.
This might depend on your system’s configuration, as the docker compose file only contains the name of the image but not the absolute Url to pull from.

I found that I first need to configure docker to use the local proxy. And I’m going to learn docker first now before going on: Orientation and setup | Docker Documentation

You may want to consider switching to Zammads package installation if you’re not too familiare with docker installations. Turning wrong on docker installations might (due to dockers nature) give you a very hard time.

Installing from sources would need an OpenSuse Tumbleweed (TW) because current stable OpenSuse LEAP 15.4 only provides ruby-2.5.
I thought using docker would make it easier if the distribution doesn’t have all the dependencies required.

For production we prefer the OpenSuse LEAP instead of the testing rolling distribution TW.

And packages for OpenSuse don’t seem to be maintained.

That’s not directly true. Our packager just doesn’t support SLES 15 which is why there’s no packages for it.
If you’re not hard stuck to SuSe, Debian or Ubuntu would be an alternative as well.

I got docker-compose up and running, I’m able to connect to Zammad on 8080. How would I change that?
I learned a bit about docker-compose.yml files, there usually is a ports: section.
In docker-compose.yml I only find expose: - “8080” for the zammad-nginx container. Changing that to 80 did not help.

The documentation has you covered:
https://docs.zammad.org/en/latest/install/docker-compose/environment.html

Of course you’ll have to re-deploy your stack after wards.
That is common docker knowledge - again, this installation method doesn’t seem the right for you.

1 Like