Greetings.
I am currently rolling out GitLab Container Registry using Docker in swarm mode, but I’ve run into a couple of problems.
According to our scheme we have a Nginx as a reverse proxy with all of the certificates installed, followed by the cluster itself. The GitLab works by itself, but the Container Registry is not.
I can’t figure out what can cause this unfortunate situation. I would be very grateful, if you could point me into the right direction.
You can find the configuration files gitlab.rb и stack.yml attached.
Thank you for your time.
Yours faithfully,
Rodin Vladimir
stack.yaml
version: “3.4”
services:
gitlab:
image: “gitlab/gitlab-ce:latest”
volumes:
- “gitlab_data:/var/opt/gitlab”
- “gitlab_logs:/var/log/gitlab”
- “gitlab_config:/etc/gitlab”
ports:
- “2222:22”
- “9191:80”
- “9150:5000”
- “9151:5001”
- “9152:5050”
- “9153:5051”
- “9192:8080”
- “9193:8081”
configs:
- source: “gitlab.rb”
target: “/etc/gitlab/gitlab.rb”
networks:
- default
- proxy
deploy:
labels:
traefik.port: 80
traefik.frontend.rule: “Host:gitlab.localtest.me”
traefik.docker.network: “proxy”
volumes:
gitlab_data:
driver: local
driver_opts:
type: nfs4
o: “addr=127.0.0.1”
device: “:/gitlab-swarm/gitlab/data”
gitlab_logs:
driver: local
driver_opts:
type: nfs4
o: “addr=127.0.0.1”
device: “:/gitlab-swarm/gitlab/logs”
gitlab_config:
driver: local
driver_opts:
type: nfs4
o: “addr=127.0.0.1”
device: “:/gitlab-swarm/gitlab/config”
configs:
gitlab.rb:
file: “./gitlab.rb”
networks:
proxy:
external: true
gitlab.rb
external_url ‘http://gitlab.test.com’
registry_external_url ‘https://registry.test.com’
Disable services
postgresql[‘enable’] = false
redis[‘enable’] = false
prometheus[‘enable’] = false
postgres_exporter[‘enable’] = false
redis_exporter[‘enable’] = false
Rgistry GitLab
gitlab_rails[‘registry_enabled’] = true
gitlab_rails[‘registry_host’] = “registry.gitlab.test.com”
gitlab_rails[‘registry_port’] = “5000”
gitlab_rails[‘registry_path’] = “/var/opt/gitlab/gitlab-rails/shared/registry”
gitlab_rails[‘registry_api_url’] = “http://localhost:5000”
registry[‘enable’] = true
registry[‘registry_http_addr’] = “localhost:5000”
registry[‘debug_addr’] = “localhost:5001”
registry[‘dir’] = “/var/opt/gitlab/registry”
registry[‘log_directory’] = “/var/log/gitlab/registry”
registry[‘log_level’] = “info”
registry_nginx[‘enable’] = true
registry_nginx[‘listen_port’] = 8081
registry_nginx[‘listen_https’] = false
registry_nginx[‘proxy_set_headers’] = {
“Host” => “$http_host”,
“X-Real-IP” => “$remote_addr”,
“X-Forwarded-For” => “$proxy_add_x_forwarded_for”,
“X-Forwarded-Proto” => “https”,
“X-Forwarded-Ssl” => “on”
}