En caso hayas olvidado la contraseña del root (o de algún otro usuario) de tu instalación de Gitlab Self-hosted , vamos a poder cambiar la contraseña por medio de SSH siguiendo estos pasos:

Nota: Esto no es solo para Synolgy sino que también puedes usarlo para cualquier Gitlab Self Hosted, ya sea en Docker, Ubuntu, o LXC.

  1. Activamos el SSH en el Synology, en caso de que ya lo hayas hecho debes saltarte este paso. Vamos a:
Control Panel > Terminal & SNMP > Terminal > Enable SSH Service

2. Entramos por algún cliente SSH al Synology y nos logueamos con algún usuario que tengas permisos de Administrador. (Puedes Utilizar Kitty o Putty para conectarte)

3. Ejecutamos lo siguiente para elevar los permisos del Terminal, es posible que te vuelva a pedir la contraseña.

sudo su

4. Buscamos el ID o el nombre del contenedor de Gitlab:

En mi caso el Container ID seria 'a16ca9882a9d' o el nombre 'synology_gitlab'

docker ps

// Respuesta
CONTAINER ID        IMAGE                              COMMAND                  CREATED             STATUS              PORTS                                                   NAMES
a16ca9882a9d        sameersbn/gitlab:13.12.2           "/sbin/entrypoint.sh…"   2 hours ago         Up 2 hours          443/tcp, 0.0.0.0:30001->22/tcp, 0.0.0.0:30000->80/tcp   synology_gitlab
d9ecd22aca64        sameersbn/postgresql:12-20200524   "/sbin/entrypoint.sh"    3 hours ago         Up 2 hours          5432/tcp                                                synology_gitlab_postgresql
de0fdb2385a0        sameersbn/redis:4.0.9-1            "/sbin/entrypoint.sh"    3 hours ago         Up 2 hours          6379/tcp                                                synology_gitlab_redis

5. Entramos al Contendor y abrimos una consola dentro de el:

docker exec -it synology_gitlab  bash  #Reemplaza 'synology_gitlab' por el ID o nombre de tu Contenedor

6. Iniciamos la consola de Ruby Gems.

cd /home/git/gitlab/bin
bundle exec rails console -e production

Después de poner estos comandos va a tardar un poco en cargar pero cuando termine de cargar te mostrara algo como esto y deberas darle "Enter"

--------------------------------------------------------------------------------
 Ruby:         ruby 2.7.2p137 (2020-10-01 revision 5445e04352) [x86_64-linux-gnu]
 GitLab:       13.12.2 (d98457affdf) FOSS
 GitLab Shell: 13.18.0
 PostgreSQL:   12.3
--------------------------------------------------------------------------------

7. Ahora puedes buscar el usuario que quieras por alguno de estos métodos, ya sea por nombre de usuario, email o el ID en caso de que lo sepas.

# Por nombre de usuario
user = User.find_by_username 'root'

# Por Email
user = User.find_by(email: 'user@vicolinker.net')

# Por ID
user = User.find(123)

Debería devolverte un ID en caso de haber encontrado el usuario, si no lo encuentra responderá con "Nill" (o Null)

# Usuario Encontrado
irb(main):007:0> user = User.find_by_username 'root'
=> #<User id:1 @root>


# Usuario No Encontrado
irb(main):008:0> user = User.find_by_username 'root123'
=> nil

8. Ponemos la nueva contraseña al usuario (en ambos campos debes poner la misma) y terminamos guardando

user.password = 'Nueva_contraseña'
user.password_confirmation = 'Nueva_contraseña'
user.save!

// True

Si todo a ido bien nos devolverá un "True" ya ya podemos cerrar la terminal y loguearnos  con la nueva contraseña.

Documentation: https://docs.gitlab.com/ee/security/reset_user_password.html