Skip to content

[12.1] startup script uses puma (and fails) even when EXPERIMENTAL_PUMA is not set

After upgrading a source-based installation to v12.1, Gitlab failed to start!

The service log shows a missing puma file despite that puma is not used!

Errno::ENOENT: No such file or directory @ rb_sysopen - /home/git/gitlab/config/puma.rb

I found that commit b7ea4bd8 replaced bin/web with a new script that runs either web_puma or web_unicorn based on the value of an environment variable USE_WEB_SERVER and it defaults to the puma version if the variable is not set which is case for the current init script.

...
case "$USE_WEB_SERVER" in
    puma|"") # and the "" defines default
        exec bin/web_puma "$@"
        ;;

    unicorn)
        exec bin/web_unicorn "$@"
        ;;
...

The commit message shows that it was meant for the GDK, not the production environment.

I temporarily solved the issue by replacing the web script with softlink to web_unicorn script.

Edited by Mohammad Alhashash