Problems Upgrading GitLab in Docker

I am using GitLab within Docker. My current version is 12.8.5 and I was looking to upgrade to 12.10.1. When I started a new container with the new version I noticed it didn’t come up as other upgrades have. Further research has led me into a rathole that I need some assistance with.

When I tried to upgrade using the existing volumes, I noticed an error in the docker logs output. I have it at the bottom of this post to not clutter this text. I decided to try 12.9 and saw the same problem. Same with 12.8.9. These containers do come up if I move my /srv/gitlab directory out of the way so it’s more an upgrade problem. Please offer any guidance on how I can troubleshoot and fix this. Thank you.

    * postgresql_query[enable pg_trgm extension] action run (skipped due to only_if)
     (up to date)
  * ruby_block[warn pending postgresql restart] action run (skipped due to only_if)
  * execute[reload postgresql] action nothing (skipped due to action :nothing)
  * execute[start postgresql] action nothing (skipped due to action :nothing)
Recipe: gitlab::database_migrations
  * bash[migrate gitlab-rails database] action run
    [execute] Rails Error: Unable to access log file. Please ensure that /opt/gitlab/embedded/service/gitlab-rails/log/production.log exists and is writable (ie, make it writable for user and group: chmod 0664 /opt/gitlab/embedded/service/gitlab-rails/log/production.log). The log level has been raised to WARN and the output directed to STDERR until the problem is fixed.
              rake aborted!
              Errno::EACCES: Permission denied @ rb_sysopen - /opt/gitlab/embedded/service/gitlab-rails/log/grpc.log
              /opt/gitlab/embedded/service/gitlab-rails/config/initializers/grpc.rb:3:in `new'
              /opt/gitlab/embedded/service/gitlab-rails/config/initializers/grpc.rb:3:in `<top (required)>'
              /opt/gitlab/embedded/service/gitlab-rails/config/environment.rb:5:in `<top (required)>'
              /opt/gitlab/embedded/bin/bundle:23:in `load'
              /opt/gitlab/embedded/bin/bundle:23:in `<main>'
              Tasks: TOP => gitlab:db:configure => environment
              (See full trace by running task with --trace)
    
    ================================================================================
    Error executing action `run` on resource 'bash[migrate gitlab-rails database]'
    ================================================================================
    
    Mixlib::ShellOut::ShellCommandFailed
    ------------------------------------
    Expected process to exit with [0], but received '1'
    ---- Begin output of "bash"  "/tmp/chef-script20200424-22-1ptwcgl" ----
    STDOUT: Rails Error: Unable to access log file. Please ensure that /opt/gitlab/embedded/service/gitlab-rails/log/production.log exists and is writable (ie, make it writable for user and group: chmod 0664 /opt/gitlab/embedded/service/gitlab-rails/log/production.log). The log level has been raised to WARN and the output directed to STDERR until the problem is fixed.
    rake aborted!
    Errno::EACCES: Permission denied @ rb_sysopen - /opt/gitlab/embedded/service/gitlab-rails/log/grpc.log
    /opt/gitlab/embedded/service/gitlab-rails/config/initializers/grpc.rb:3:in `new'
    /opt/gitlab/embedded/service/gitlab-rails/config/initializers/grpc.rb:3:in `<top (required)>'
    /opt/gitlab/embedded/service/gitlab-rails/config/environment.rb:5:in `<top (required)>'
    /opt/gitlab/embedded/bin/bundle:23:in `load'
    /opt/gitlab/embedded/bin/bundle:23:in `<main>'
    Tasks: TOP => gitlab:db:configure => environment
    (See full trace by running task with --trace)
    STDERR: 
    ---- End output of "bash"  "/tmp/chef-script20200424-22-1ptwcgl" ----
    Ran "bash"  "/tmp/chef-script20200424-22-1ptwcgl" returned 1
    
    Resource Declaration:
    ---------------------
    # In /opt/gitlab/embedded/cookbooks/cache/cookbooks/gitlab/recipes/database_migrations.rb
    
     54: bash "migrate gitlab-rails database" do
     55:   code <<-EOH
     56:     set -e
     57:     log_file="#{node['gitlab']['gitlab-rails']['log_directory']}/gitlab-rails-db-migrate-$(date +%Y-%m-%d-%H-%M-%S).log"
     58:     umask 077
     59:     /opt/gitlab/bin/gitlab-rake gitlab:db:configure 2>& 1 | tee ${log_file}
     60:     STATUS=${PIPESTATUS[0]}
     61:     chown #{account_helper.gitlab_user}:#{account_helper.gitlab_group} ${log_file}
     62:     echo $STATUS > #{db_migrate_status_file}
     63:     exit $STATUS
     64:   EOH
     65:   environment env_variables unless env_variables.empty?
     66:   notifies :run, "execute[clear the gitlab-rails cache]", :immediately
     67:   dependent_services.each do |svc|
     68:     notifies :restart, svc, :immediately
     69:   end
     70:   not_if "(test -f #{db_migrate_status_file}) && (cat #{db_migrate_status_file} | grep -Fx 0)"
     71:   only_if { node['gitlab']['gitlab-rails']['auto_migrate'] }
     72: end
     73: 
    
    Compiled Resource:
    ------------------
    # Declared in /opt/gitlab/embedded/cookbooks/cache/cookbooks/gitlab/recipes/database_migrations.rb:54:in `from_file'
    
    bash("migrate gitlab-rails database") do
      action [:run]
      default_guard_interpreter :default
      command nil
      backup 5
      interpreter "bash"
      declared_type :bash
      cookbook_name "gitlab"
      recipe_name "database_migrations"
      code "    set -e\n    log_file=\"/var/log/gitlab/gitlab-rails/gitlab-rails-db-migrate-$(date +%Y-%m-%d-%H-%M-%S).log\"\n    umask 077\n    /opt/gitlab/bin/gitlab-rake gitlab:db:configure 2>& 1 | tee ${log_file}\n    STATUS=${PIPESTATUS[0]}\n    chown git:git ${log_file}\n    echo $STATUS > /var/opt/gitlab/gitlab-rails/upgrade-status/db-migrate-873248b1f0d3a7a5535771a3a1635803-f4e077c4310\n    exit $STATUS\n"
      domain nil
      user nil
      not_if "(test -f /var/opt/gitlab/gitlab-rails/upgrade-status/db-migrate-873248b1f0d3a7a5535771a3a1635803-f4e077c4310) && (cat /var/opt/gitlab/gitlab-rails/upgrade-status/db-migrate-873248b1f0d3a7a5535771a3a1635803-f4e077c4310 | grep -Fx 0)"
      only_if { #code block }
    end
    
    System Info:
    ------------
    chef_version=14.14.29
    platform=ubuntu
    platform_version=16.04
    ruby=ruby 2.6.5p114 (2019-10-01 revision 67812) [x86_64-linux]
    program_name=/opt/gitlab/embedded/bin/chef-client
    executable=/opt/gitlab/embedded/bin/chef-client
    

Running handlers:
Running handlers complete
Chef Client failed. 8 resources updated in 28 seconds
There was an error running gitlab-ctl reconfigure:

bash[migrate gitlab-rails database] (gitlab::database_migrations line 54) had an error: Mixlib::ShellOut::ShellCommandFailed: Expected process to exit with [0], but received '1'
---- Begin output of "bash"  "/tmp/chef-script20200424-22-1ptwcgl" ----
STDOUT: Rails Error: Unable to access log file. Please ensure that /opt/gitlab/embedded/service/gitlab-rails/log/production.log exists and is writable (ie, make it writable for user and group: chmod 0664 /opt/gitlab/embedded/service/gitlab-rails/log/production.log). The log level has been raised to WARN and the output directed to STDERR until the problem is fixed.
rake aborted!
Errno::EACCES: Permission denied @ rb_sysopen - /opt/gitlab/embedded/service/gitlab-rails/log/grpc.log
/opt/gitlab/embedded/service/gitlab-rails/config/initializers/grpc.rb:3:in `new'
/opt/gitlab/embedded/service/gitlab-rails/config/initializers/grpc.rb:3:in `<top (required)>'
/opt/gitlab/embedded/service/gitlab-rails/config/environment.rb:5:in `<top (required)>'
/opt/gitlab/embedded/bin/bundle:23:in `load'
/opt/gitlab/embedded/bin/bundle:23:in `<main>'
Tasks: TOP => gitlab:db:configure => environment
(See full trace by running task with --trace)
STDERR: 
---- End output of "bash"  "/tmp/chef-script20200424-22-1ptwcgl" ----

Replace this template with your information

Describe your question in as much detail as possible:

  • What are you seeing, and how does it differ from what you expect to see?
  • Consider including screenshots, error messages, and/or other helpful visuals
  • What version are you on (Hint: /help) ? and are you using self-managed or gitlab.com?
  • What troubleshooting steps have you already taken? Can you link to any docs or other resources so we know where you have been?

Thanks for taking the time to be thorough in your request, it really helps! :blush:

I also encountered this problem, did you solve it?

Unfortunately I haven’t solved this problem. I am thinking of backing up the database and doing a fresh install. Did you figure this out?

Hi,

Can you please shed some light on the commands / procedure you are using for doing so?
Maybe you are missing some steps with latest 12.8 → latest 12.9 → latest 12.10.

Cheers,
Michael

@dnsmichi I have a simple bash script I run which upgrades the Docker container. I set the version to what I want. I’m currently on 12.8.5 and want to move to 12.8.9 to start.

#!/usr/bin/bash

sudo docker stop gitlab
sudo docker rm gitlab
sudo docker pull gitlab/gitlab-ce:12.8.9-ce.0
sudo docker run --detach \
	        --hostname e4cent0gitlab1.mydomain.local \
		--publish 443:443 \
		--publish 80:80 \
		--publish 22:22 \
		--name gitlab \
		--restart unless-stopped \
		--volume /srv/gitlab/config:/etc/gitlab \
		--volume /srv/gitlab/logs:/var/log/gitlab \
		--volume /srv/gitlab/data:/var/opt/gitlab \
	      	gitlab/gitlab-ce:12.8.9-ce.0

Hi,

thanks. I’m wondering about sudo here. The error message above says that the log directories cannot be written.

Unable to access log file. Please ensure that /opt/gitlab/embedded/service/gitlab-rails/log/production.log exists and is writable (ie, make it writable for user and group: chmod 0664 /opt/gitlab/embedded/service/gitlab-rails/log/production.log). The log level has been raised to WARN and the output directed to STDERR until the problem is fixed.
              rake aborted!

I’d say that the mounted volumes from Docker are owned by root and are not writable inside the container. Can you share the output of the following commands please:

ls -lah /srv/gitlab/logs
ls -lah /srv/gitlab/data

Also, is the host running on RHEL/CentOS/Fedora where SELinux could come into play? Please share the output of that command too.

cat /etc/os-release

getenforce

Cheers,
Michael

Here are all the outputs.

[kbreit@e4cent0gitlab1 ~]$ ls -lah /srv/gitlab/logs
total 120K
drwxr-xr-x. 20 root     root  4.0K Jan  7 15:05 .
drwxr-xr-x.  5 root     root    44 Jan  7 15:02 ..
drwx------.  2 saslauth root  4.0K Apr 25 12:04 alertmanager
drwx------.  2 polkitd  root  4.0K May  4 12:04 gitaly
drwx------.  2 polkitd  root  4.0K Apr 25 12:04 gitlab-exporter
drwx------.  2 polkitd  root   24K May  4 20:15 gitlab-rails
drwx------.  2 polkitd  root     6 Jan  7 15:02 gitlab-shell
drwx------.  2 polkitd  root  4.0K May  4 12:04 gitlab-workhorse
drwx------.  2 saslauth root  4.0K Apr 25 12:04 grafana
drwx------.  2 root     root  4.0K Apr 24 12:04 logrotate
drwxr-x---.  2 root     input 8.0K May  4 20:15 nginx
drwx------.  2 unbound  root  4.0K Apr 25 12:04 postgres-exporter
drwx------.  2 unbound  root  4.0K Apr 25 12:04 postgresql
drwx------.  2 saslauth root  4.0K May  4 12:04 prometheus
drwxr-xr-x.  2 root     root  4.0K Apr 24 12:04 reconfigure
drwx------.  2 geoclue  root  4.0K May  4 12:04 redis
drwx------.  2 geoclue  root  4.0K Apr 25 12:04 redis-exporter
drwx------.  2 polkitd  root  4.0K May  4 12:04 sidekiq
drwxr-xr-x.  2 root     root  4.0K Apr 24 12:04 sshd
drwx------.  2 polkitd  root  4.0K May  4 20:15 unicorn
[kbreit@e4cent0gitlab1 ~]$ ls -lah /srv/gitlab/data
total 20K
drwxr-xr-x. 20 root     root   4.0K Apr 24 12:04 .
drwxr-xr-x.  5 root     root     44 Jan  7 15:02 ..
drwxr-x---.  3 saslauth root     42 Apr 24 12:04 alertmanager
drwx------.  2 polkitd  root    114 Apr 24 12:59 backups
-rw-------.  1 root     root     38 Jan  7 15:04 bootstrapped
drwxr-xr-x.  2 polkitd  render    6 Jan  7 15:02 .bundle
drwx------.  3 polkitd  root    103 Apr 24 12:04 gitaly
-rw-r--r--.  1 polkitd  render  382 Jan  7 15:02 .gitconfig
drwx------.  3 polkitd  root     26 Jan  7 15:02 git-data
drwxr-xr-x.  3 polkitd  root     20 Jan  7 15:02 gitlab-ci
drwxr-xr-x.  2 polkitd  root     53 Apr 24 12:04 gitlab-exporter
drwxr-xr-x.  9 polkitd  root    160 Apr 24 12:04 gitlab-rails
drwx------.  2 polkitd  root     24 Apr 24 12:04 gitlab-shell
drwxr-x---.  2 polkitd  input    54 Apr 24 12:04 gitlab-workhorse
drwx------.  4 saslauth root    107 Apr 24 12:04 grafana
drwx------.  3 root     root     71 May  5 09:15 logrotate
drwxr-x---.  9 root     input   163 Apr 24 12:04 nginx
drwx------.  2 unbound  root     26 Apr 24 12:04 postgres-exporter
drwxr-xr-x.  3 unbound  root     81 Apr 24 12:04 postgresql
drwxr-x---.  4 saslauth root     53 Apr 24 12:04 prometheus
-rw-r--r--.  1 root     root    226 Apr 24 12:04 public_attributes.json
drwxr-x---.  2 geoclue  render   60 May  5 09:41 redis
drwx------.  2 polkitd  render   57 Jan  7 16:31 .ssh
-rw-r--r--.  1 root     root     40 Apr 22 15:19 trusted-certs-directory-hash
[kbreit@e4cent0gitlab1 ~]$ cat /etc/os-release
NAME="CentOS Linux"
VERSION="8 (Core)"
ID="centos"
ID_LIKE="rhel fedora"
VERSION_ID="8"
PLATFORM_ID="platform:el8"
PRETTY_NAME="CentOS Linux 8 (Core)"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:centos:centos:8"
HOME_URL="https://www.centos.org/"
BUG_REPORT_URL="https://bugs.centos.org/"

CENTOS_MANTISBT_PROJECT="CentOS-8"
CENTOS_MANTISBT_PROJECT_VERSION="8"
REDHAT_SUPPORT_PRODUCT="centos"
REDHAT_SUPPORT_PRODUCT_VERSION="8"

[kbreit@e4cent0gitlab1 ~]$ getenforce
Disabled

Hi,

hmmm, question on the host system - has this always been a CentOS 8, or did you recently migrate from CentOS 7?

Cheers,
Michael

I believe it’s always been 8.

This upgrade has worked in the past as well from probably starting at 12.5 or so.

Hi,

puh, this leaves me out of ideas for the moment unfortunately. I haven’t run CentOS 8 on my servers yet.

Do you have a staging environment around, as in, a new host with a fresh CentOS 8 install where you could move the Docker container temporarily and see if the problems persist? Or, likewise, do the whole dance on an Ubuntu VM too so see if that has an impact.

Cheers,
Michael

Just to confirm, you’re suggesting I move the container to another host and have it create a new environment since it won’t have the volumes? Or should I move the volumes with it?

But yes, this is in a lab so I have a lot of leeway on what I can deploy. Deploying a new environment will be easy.

Hi,

I meant the entire environment - container + state data in directories. It would be worth a short to rule out said permission problems. Please do keep a backup to stay safe though :slight_smile:

Cheers,
Michael

1 Like

@dnsmichi I created a new system, this time running CentOS 7. I figured Docker isn’t very happy on CentOS 8 so a 7 box would be an okay place to start, if another variable. Unfortunately it doesn’t appear to have solved my problems. Logs are below.

All I did was create a new VM, install Docker, scp all the files from /srv to the new system and run the Docker run command.

 query log file" file=/var/opt/gitlab/prometheus/data/queries.active err="open /var/opt/gitlab/prometheus/data/queries.active: permission denied"
2020-05-24_02:31:25.35296 panic: Unable to create mmap-ed active query log
2020-05-24_02:31:25.35297 
2020-05-24_02:31:25.35297 goroutine 1 [running]:
2020-05-24_02:31:25.35297 github.com/prometheus/prometheus/promql.NewActiveQueryTracker(0x7ffefc580eb6, 0x1f, 0x14, 0x2aaff60, 0xc000778660, 0x2aaff60)
2020-05-24_02:31:25.35298 	/var/cache/omnibus/src/prometheus/src/github.com/prometheus/prometheus/promql/query_logger.go:115 +0x4d2
2020-05-24_02:31:25.35298 main.main()
2020-05-24_02:31:25.35298 	/var/cache/omnibus/src/prometheus/src/github.com/prometheus/prometheus/cmd/prometheus/main.go:364 +0x5477

==> /var/log/gitlab/alertmanager/current <==
2020-05-24_02:31:25.22191 level=info ts=2020-05-24T02:31:25.221Z caller=main.go:231 msg="Starting Alertmanager" version="(version=0.20.0, branch=master, revision=)"
2020-05-24_02:31:25.22193 level=info ts=2020-05-24T02:31:25.221Z caller=main.go:232 build_context="(go=go1.12.13, user=GitLab-Omnibus, date=)"
2020-05-24_02:31:25.22290 level=info ts=2020-05-24T02:31:25.221Z caller=cluster.go:161 component=cluster msg="setting advertise address explicitly" addr=172.17.0.2 port=9094
2020-05-24_02:31:25.22292 level=error ts=2020-05-24T02:31:25.222Z caller=main.go:276 err="open /var/opt/gitlab/alertmanager/data/nflog: permission denied"

==> /var/log/gitlab/grafana/current <==
2020-05-24_02:31:24.84032 t=2020-05-24T02:31:24+0000 lvl=info msg="Starting Grafana" logger=server version=6.3.5 commit=67bad72 branch=HEAD compiled=2019-09-02T09:34:49+0000
2020-05-24_02:31:24.84035 t=2020-05-24T02:31:24+0000 lvl=info msg="Config loaded from" logger=settings file=/var/opt/gitlab/grafana/conf/defaults.ini
2020-05-24_02:31:24.84036 t=2020-05-24T02:31:24+0000 lvl=info msg="Config loaded from" logger=settings file=/var/opt/gitlab/grafana/grafana.ini
2020-05-24_02:31:24.84036 t=2020-05-24T02:31:24+0000 lvl=info msg="Path Home" logger=settings path=/var/opt/gitlab/grafana
2020-05-24_02:31:24.84037 t=2020-05-24T02:31:24+0000 lvl=info msg="Path Data" logger=settings path=/var/opt/gitlab/grafana/data
2020-05-24_02:31:24.84037 t=2020-05-24T02:31:24+0000 lvl=info msg="Path Logs" logger=settings path=/var/log/gitlab/grafana
2020-05-24_02:31:24.84037 t=2020-05-24T02:31:24+0000 lvl=info msg="Path Plugins" logger=settings path=/var/opt/gitlab/grafana/data/plugins
2020-05-24_02:31:24.84038 t=2020-05-24T02:31:24+0000 lvl=info msg="Path Provisioning" logger=settings path=/var/opt/gitlab/grafana/provisioning
2020-05-24_02:31:24.84038 t=2020-05-24T02:31:24+0000 lvl=info msg="App mode production" logger=settings
2020-05-24_02:31:24.84038 t=2020-05-24T02:31:24+0000 lvl=info msg="Initializing SqlStore" logger=server
2020-05-24_02:31:24.84040 t=2020-05-24T02:31:24+0000 lvl=info msg="Connecting to DB" logger=sqlstore dbtype=sqlite3
2020-05-24_02:31:24.84040 t=2020-05-24T02:31:24+0000 lvl=info msg="Starting DB migration" logger=migrator
2020-05-24_02:31:24.84040 t=2020-05-24T02:31:24+0000 lvl=eror msg="Server shutdown" logger=server reason="Service init failed: Migration failed err: unable to open database file"

==> /var/log/gitlab/gitaly/current <==
{"level":"info","msg":"Wrapper started","time":"2020-05-24T02:31:26Z","wrapper":8660}
{"level":"info","msg":"finding gitaly","pid_file":"/var/opt/gitlab/gitaly/gitaly.pid","time":"2020-05-24T02:31:26Z","wrapper":8660}
{"error":"open /var/opt/gitlab/gitaly/gitaly.pid: permission denied","level":"fatal","msg":"find gitaly","time":"2020-05-24T02:31:26Z","wrapper":8660}

==> /var/log/gitlab/postgresql/current <==
2020-05-24_02:31:26.23686 2020-05-24 02:31:26.235 GMT [8673] LOG:  skipping missing configuration file "/var/opt/gitlab/postgresql/data/postgresql.auto.conf"
2020-05-24_02:31:26.23688 FATAL:  could not open file "/var/opt/gitlab/postgresql/data/PG_VERSION": Permission denied

==> /var/log/gitlab/alertmanager/current <==
2020-05-24_02:31:26.36649 level=info ts=2020-05-24T02:31:26.364Z caller=main.go:231 msg="Starting Alertmanager" version="(version=0.20.0, branch=master, revision=)"
2020-05-24_02:31:26.36650 level=info ts=2020-05-24T02:31:26.364Z caller=main.go:232 build_context="(go=go1.12.13, user=GitLab-Omnibus, date=)"
2020-05-24_02:31:26.36651 level=info ts=2020-05-24T02:31:26.365Z caller=cluster.go:161 component=cluster msg="setting advertise address explicitly" addr=172.17.0.2 port=9094
2020-05-24_02:31:26.36651 level=error ts=2020-05-24T02:31:26.366Z caller=main.go:276 err="open /var/opt/gitlab/alertmanager/data/nflog: permission denied"

==> /var/log/gitlab/grafana/current <==
2020-05-24_02:31:25.91786 t=2020-05-24T02:31:25+0000 lvl=info msg="Starting Grafana" logger=server version=6.3.5 commit=67bad72 branch=HEAD compiled=2019-09-02T09:34:49+0000
2020-05-24_02:31:25.91789 t=2020-05-24T02:31:25+0000 lvl=info msg="Config loaded from" logger=settings file=/var/opt/gitlab/grafana/conf/defaults.ini
2020-05-24_02:31:25.91789 t=2020-05-24T02:31:25+0000 lvl=info msg="Config loaded from" logger=settings file=/var/opt/gitlab/grafana/grafana.ini
2020-05-24_02:31:25.91789 t=2020-05-24T02:31:25+0000 lvl=info msg="Path Home" logger=settings path=/var/opt/gitlab/grafana
2020-05-24_02:31:25.91790 t=2020-05-24T02:31:25+0000 lvl=info msg="Path Data" logger=settings path=/var/opt/gitlab/grafana/data
2020-05-24_02:31:25.91790 t=2020-05-24T02:31:25+0000 lvl=info msg="Path Logs" logger=settings path=/var/log/gitlab/grafana
2020-05-24_02:31:25.91790 t=2020-05-24T02:31:25+0000 lvl=info msg="Path Plugins" logger=settings path=/var/opt/gitlab/grafana/data/plugins
2020-05-24_02:31:25.91790 t=2020-05-24T02:31:25+0000 lvl=info msg="Path Provisioning" logger=settings path=/var/opt/gitlab/grafana/provisioning
2020-05-24_02:31:25.91791 t=2020-05-24T02:31:25+0000 lvl=info msg="App mode production" logger=settings
2020-05-24_02:31:25.91791 t=2020-05-24T02:31:25+0000 lvl=info msg="Initializing SqlStore" logger=server
2020-05-24_02:31:25.91793 t=2020-05-24T02:31:25+0000 lvl=info msg="Connecting to DB" logger=sqlstore dbtype=sqlite3
2020-05-24_02:31:25.91793 t=2020-05-24T02:31:25+0000 lvl=info msg="Starting DB migration" logger=migrator
2020-05-24_02:31:25.91793 t=2020-05-24T02:31:25+0000 lvl=eror msg="Server shutdown" logger=server reason="Service init failed: Migration failed err: unable to open database file"

Hi,

so it generally is a permission problem, no matter the host system. Try following the mentioned steps here: https://docs.gitlab.com/omnibus/docker/README.html#permission-problems

There are a couple of other topics unveiled when googling for gitlab docker container srv permissions - I’m not sure if related but maybe they’ll help in your research.

Cheers,
Michael

1 Like

I’m testing further but the permission fixing command seems to have fixed it. I was able to upgrade from 12.8.5 to 12.8.9 and will upgrade to 12.9, 12.10, and 13 shortly. Thank you for your assistance here.

1 Like