Note: Previous version of this post listed letsencrypt['enabled'] = false
instead of letsencrypt['enable'] = false
(the d
in enabled
is missing in the correct version) – see this GitLab issue for more details. Thanks to Jonas Hohmann for informing me about this.
Problem:
You want to run the Gitlab CE docker image, but since you want to run it together with other services behind a reverse proxy, you see an error message like this:
gitlab_1 | letsencrypt_certificate[gitlab.mydomain.com] (letsencrypt::http_authorization line 3) had an error: RuntimeError: acme_certificate[staging] (/opt/gitlab/embedded/cookbooks/cache/cookbooks/letsencrypt/resources/certificate.rb line 20) had an error: RuntimeError: [gitlab.mydomain.com] Validation failed for domain gitlab.mydomain.com
Solution:
Add
letsencrypt['enable'] = false
to GITLAB_OMNIBUS_CONFIG. See this file on GitHub for more Let’s Encrypt-related configs you can add.
In docker-compose.yml
it could look like this:
gitlab: image: 'gitlab/gitlab-ce:latest' restart: always hostname: 'gitlab.mydomain.com' environment: GITLAB_OMNIBUS_CONFIG: | external_url 'https://gitlab.mydomain.com' letsencrypt['enable'] = false ports: - '7080:80' - '1022:22' volumes: - '/var/lib/gitlab/config:/etc/gitlab' - '/var/lib/gitlab/logs:/var/log/gitlab' - '/var/lib/gitlab/data:/var/opt/gitlab'