I’ve just tried this with gitlab-ce installed normally (I don’t use docker). Have been able to restore 14.6.0 to a new server with 14.6.0. My procedure for a normal Gitlab installation:
Install gitlab-ce.
Copy gitlab.rb and gitlab-secrets.json to /etc/gitlab on new server
Make sure sudo is installed (if you made new clean install of Linux, not all distros have sudo by default).
If a specific IP was set for listening on in gitlab.rb, set this to the new server else nginx will fail to start later. If listening on all IP’s, then nothing to change.
Run gitlab-ctl reconfigure to get gitlab running with empty data.
Copy backup file to server and put in /var/opt/gitlab/backups
Run chown git:git /var/opt/gitlab/backups/1641250988_2022_01_04_14.6.0_gitlab_backup.tar
Run gitlab-ctl stop puma && gitlab-ctl stop sidekiq
Run gitlab-backup restore BACKUP=1641250988_2022_01_04_14.6.0
Run gitlab-ctl reconfigure
Run gitlab-ctl restart
Run gitlab-rake gitlab:check SANITIZE=true
If gitlab-secrets.json was copied, run gitlab-rake gitlab:doctor:secrets
Obviously my procedure is different than compared to docker, because I’ve got it installed normally using gitlab-ce debian package. But hope some of the steps will help a bit. For me it worked, so I’m not sure if there is an issue with the Docker restore procedures or not.