Ceci est une ancienne révision du document !
Ci dessous le docker-compose pour un test en local
networks: # Nomme explicitement le réseau par défaut utilisé par les services définis dans ce fichier default_vnet: services: gitlab: image: 'gitlab/gitlab-ce:14.1.8-ce.0' restart: always hostname: 'gitlab.services.localhost' networks: default_vnet: aliases: - gitlab.services.localhost environment: GITLAB_OMNIBUS_CONFIG: | external_url 'http://gitlab.services.localhost' gitlab_rails['gitlab_shell_ssh_port'] = 2222 ports: - '127.0.0.1:8084:80' - '127.0.0.1:4443:443' - '127.0.0.1:2222:22' volumes: - '$GITLAB_HOME/config:/etc/gitlab' - '$GITLAB_HOME/logs:/var/log/gitlab' - '$GITLAB_HOME/data:/var/opt/gitlab'
external_url
doit être suffixée avec le port exposé par le conteneur si le port est redéfini. Ne pas utiliser la valeur du port publiée de l’hôte.
Pour s'authentifier sur la WebUI récupérer le mot de passe root:
docker-compose exec gitlab grep 'Password:' /etc/gitlab/initial_root_password
# ouvrir une console Ruby on Rails gitlab-rails console -e production # retrouver l'utilisateur via l'ID user = User.where(id: 1).first # ou via l'email # user = User.find_by(email: 'admin@example.com') # vérifier que l'objet instancié est bien l'utilisateur souhaité puts user.email, user.id # Redéfinir le mot de passe user.password = 'newpass123' user.password_confirmation = 'newpass123' # sauvegarder les modifications user.save! # Quitter la console interactive exit
Création des utilisateurs
Depuis l'instance de test, le service de mail ne fonctionne pas, utiliser la procédure ci dessus pour définir le mot de passe de l'utilisateur.
Une fois identifié l'utilisateur peut créer sa clé SSH
# générer une paire de clés cd ~/.ssh ssh-keygen -t rsa -b 4096 -C "yoann@gitlab.services.localhost" -f yoann_gitlab_localhost_rsa # Afficher la clé publique cat yoann_gitlab_localhost_rsa.pub # copier /coller la valeur de la clé publique
Pour tester la connexion au serveur:
# Vérifier la valeur du fingerprint du serveur gitlab ssh -p 2222 -T yoann@gitlab.services.localhost