# Fresh install failing - gnutls\_handshake() failed: Error in the pull function

**URL:** <https://meta.discourse.org/t/fresh-install-failing-gnutls-handshake-failed-error-in-the-pull-function/49867>\
**Category:** Self-hosting\
**Created:** [September 8, 2016, 1:44am UTC](https://meta.discourse.org/t/fresh-install-failing-gnutls-handshake-failed-error-in-the-pull-function/49867 "2016-09-08T01:44:13Z")\
**Posts on this page:** 1\
**Showing post:** 14

<div class="post-metadata">

**Author:** ![pacharanero](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pacharanero/32/500583_2.png) [@pacharanero](https://meta.discourse.org/u/pacharanero)\
**Post date:** [March 13, 2019, 5:26pm UTC](https://meta.discourse.org/t/fresh-install-failing-gnutls-handshake-failed-error-in-the-pull-function/49867/14 "2019-03-13T17:26:48Z")

</div>

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:

```plaintext
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

> [@Fresh install failing - gnutls\_handshake() failed: Error in the pull function](https://meta.discourse.org/t/fresh-install-failing-gnutls-handshake-failed-error-in-the-pull-function/49867/12):
>
> Well it turns out the issue was in fact the MTU of the docker0 network adapter. I resolved the issue by changing the following line: ExecStart=/usr/bin/dockerd -H fd:// to ExecStart=/usr/bin/dockerd --mtu=1400 -H fd:// in my /lib/systemd/system/docker.service Thanks for trying to assist.

This command helped when finding out what the MTU was on the cloud server (thanks to [this](https://networkdirection.net/articles/network-theory/mtu-and-mss/use-ping-to-find-the-mtu/) 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.

---

_[View the full topic](https://meta.discourse.org/t/fresh-install-failing-gnutls-handshake-failed-error-in-the-pull-function/49867)._
