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.
- 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