Bonjour,
Je cherche à activer la fonctionalité docker registry sur gitlab sans succès.
Mon serveur YunoHost
Matériel: VM sur dédié kimsufi derrière IP failover
Version de YunoHost: 3.6.5.3
J’ai accès à mon serveur : En SSH | Par la webadmin | En direct avec un clavier/écran
Êtes-vous dans un contexte particulier ou avez-vous effectué des modificiations particulières sur votre instance ? : oui (apt install net-tools)
Description du problème
Je veux activer la fonctionalité docker registry sur mon instance gitlab.
Pour cela j’ai bêtement (c’est peut-être là le problème :p) répliqué les réglages que j’avais faits sur mon instance actuelle, à savoir dans le fichier /etc/gitlab/gitlab-persistent.yml
registry_external_url 'https://gitlab.subdomain.domain.tld:5050'
gitlab_rails['registry_enabled'] = true
registry['enable'] = true
registry['username'] = "registry"
registry['group'] = "registry"
registry['uid'] = nil
registry['gid'] = nil
registry['dir'] = "/var/opt/gitlab/registry"
registry['registry_http_addr'] = "localhost:5000"
registry['log_directory'] = "/var/log/gitlab/registry"
registry['env_directory'] = "/opt/gitlab/etc/registry/env"
registry['log_level'] = "info"
registry['log_formatter'] = "text"
registry_nginx['enable'] = true
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"
}
registry_nginx['listen_port'] = 5050
EDIT: ce n’est pas exactement la config que j’ai sur mon instance gitlab de prod, il manque ces lignes mais j’aimerais déjà faire fonctionner le tout sans:
registry_nginx['listen_https'] = true
registry_nginx['ssl_certificate'] = "/etc/gitlab/ssl/gitlab.domain.tld.crt"
registry_nginx['ssl_certificate_key'] = "/etc/gitlab/ssl/gitlab.domain.tld.key"
ensuite j’ai lancé la reconfiguration de gitlab: gitlab-ctl reconfigure
Après vérification sur l’interface web je vois bien la section Packages > Container registry
mais la connexion avec les commandes fournies (docker login gitlab.subdomain.domain.tld:5050
) partait en timeout
Je me suis dit que ça venait du parefeu, et effectivement le port 5050 n’était pas autorisé, j’y ai donc remédié: yunohost firewall allow TCP 5050
Nouvel essai de connexion avec docker login cette fois j’ai directement un connexion refused
, il y a du progrès.
Je vais alors sur mon instance, j’installe net-tools (il s’agit d’une instance de test, je me permets d’installer des outils de debug) et je fais un netstat -tpnl
pour voir les ports en écoute et là je ne vois effectivement pas le port 5050 ouvert. Je vois cependant le port 127.0.0.1:5000
ouvert qui est bien le docker registry mais celui-ci est censé être ‘proxifié’ par nginx sur le port 5050, ce qui manque apparemment.
J’ai fait un yunohost service reload nginx
sans changement.
Pouvez-vous m’aider s’il vous plaît? C’est la seule chose qui me manque pour migrer mon instance gitlab sur mon yunohost.