How to disable Let's Encrypt in the Gitlab CE docker image
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'