We’ve had a similar issue with a fresh install of Discourse on the UKCloud provider, which we haven’t used for Discourse before. The install or ./launcher rebuild app would fail when it tried to update the gems:
FAILED
--------------------
Pups::ExecError: cd /var/www/discourse && gem update bundler failed with return #<Process::Status: pid 308 exit 1>
Location of failure: /pups/lib/pups/exec_command.rb:112:in `spawn'
exec failed with the params {"cd"=>"$home", "hook"=>"web", "cmd"=>["gem update bundler", "find $home ! -user discourse -exec chown discourse {} \\+"]}
ca66e90e8be984c2f8975b788649d387ba7ce5ce743f8b8305ca30f5a90fd3e8
** FAILED TO BOOTSTRAP ** please scroll up and look for earlier error messages, there may be more than one
It was solved using @Sisko’s post - thanks
This command helped when finding out what the MTU was on the cloud server (thanks to this blog post for some help.)
ping 8.8.8.8 -s 2000 -M do
It sets the packet size to 2000 bytes using the -s flag, and forces the ping not to fragment packets using -M do. This causes the ping to fail because the packet is too large. It will tell you what the MTU is, or you can find it by trial and error, reducing the -s 2000 gradually until it works.
I edited /lib/systemd/system/docker.service and it worked immediately
I’m putting this here a) for my own future information b) to help anyone else Googling that error with UKCloud as their provider.