Tengo un archivo docker-compose.yml con un contenedor Gitlab CE:
services: // other services.. gitlab: image: 'gitlab/gitlab-ce' restart: always ports: - '80:80' - '443:443' - '22:22' - "127.0.0.1:8081:80" volumes: - '/etc/gitlab' - '/var/log/gitlab' - '/var/opt/gitlab' networks: - backend En el inicio, esto requiere que abra el navegador, vaya a (en este caso) localhost:8081 e ingrese manualmente una contraseña.
Me gustaría que este proceso se automatice (para fines de prueba y desarrollo local).
Las propias respuestas de Gitlab:
gitlab-rails console production user = User.where(id: 1).first user.password = 'somethingsomething' user.password_confirmation = 'somethingsomething' user.save! exitLo cual funciona si entro en el contenedor Gitlab CE después de que todo esté configurado (toma minutos).
Ejecutar esto directamente a través command no funciona, presumiblemente porque la gitlab-rails console aún no está lista para funcionar en el momento en que el contenedor está activo.
Intenté crear manualmente un Dockerfile con la gitlab/gitlab-ce , usé COPY para obtener el script anterior en el contenedor y CMD . Sin embargo, como se predijo, esto falla ya gitlab-rails console aún no está lista en el inicio. Se tarda un poco.
El escenario ideal es que el contenedor se inicie, instale Gitlab y realice todas las tareas de configuración; luego establece la contraseña de administrador raíz automáticamente.
La solución es configurar GITLAB_OMNIBUS_CONFIG como una variable de entorno.
Esto funciona:
services: // other services.. gitlab: image: 'gitlab/gitlab-ce' restart: always environment: GITLAB_OMNIBUS_CONFIG: | gitlab_rails['initial_root_password'] = 'adminadmin' ports: - '80:80' - '443:443' - '22:22' - "127.0.0.1:8081:80" volumes: - '/etc/gitlab' - '/var/log/gitlab' - '/var/opt/gitlab' networks: - backendAl poner en marcha el servicio, esto se confirma:
gitlab_1 | == Seed from /opt/gitlab/embedded/service/gitlab-rails/db/fixtures/production/002_admin.rb gitlab_1 | Administrator account created: gitlab_1 | gitlab_1 | login: root gitlab_1 | password: adminadminAsí es como solucioné este problema de mi lado:
sudo docker exec -it container_name bash // replace username by your user, for me it is root gitlab-rake "gitlab:password:reset[username]"Intento la respuesta cbll pero no funciona para mí.
Para cambiar la contraseña de root manualmente en Docker Container Gitlab CE.
-----Espere hasta que se abra la consola----
irb(principal):001:0> usuario = Usuario.buscar_por_nombredeusuario 'raíz'
irb(principal):001:0> usuario.contraseña = "nuevacontraseña"
irb(principal):001:0> usuario.confirmation_password = "nueva contraseña"
irb(principal):001:0> usuario.guardar!