Snapd makes GitLab EE unusable

I made a new droplet on digitalocean this morning with the template image of Ubuntu 20.04 with GitLab EE installed. The documentation attached says that it should take about 10 minutes to install. It’s about 4 hours later and the machine is still at 100% CPU utilization. Using ssh to connect and htop to watch what is going on it turns out that snapd is using close to 100%. It will let up for a little while but then start up again. This makes everything completely unresponsive, both using console and web access. Is there an alternative to getting on-premise GitLab working on DO with minimal effort?

Well, since Gitlab isn’t the problem here, then the easiest is to disable snapd:

systemctl stop snapd
systemctl disable snapd

If you are not going to use snapd ever, then:

aptitude purge snapd

There’s a blog post from GitLab endorsing the image. There are installs by snap. I’m thinking they are important to the installation. I’d rather have a snap-less server for sure.

Best would be use the packages, eg: installing Ubuntu deb packages: Download and install GitLab | GitLab

Not sure what article you are following that relies on snapd. Official Gitlab documentation is the best way for installing, configuring Gitlab, etc.

1 Like

It’s an image with the system pre-installed. Supposed to be fire-and-forget. It’s not.

Hmm yeah, I tend to prefer make a basic droplet and then install Gitlab normally to have full control of it. Never know what other stuff has been bundled with that, and as you see, the snapd service causing issues.

Assuming your droplet has at least 4GB ram, should be fine. I run mine with 8GB.

A basic install of Ubuntu will have snapd anyway, even if nothing is using it. You could verify if that marketplace image has Gitlab deb package installed by:

dpkg -l | grep -i gitlab

If you see gitlab-ee in the results, that means it’s not using snapd, and you can disable/remove it. So whilst a basic Ubuntu droplet could be installed, it will still have snapd and therefore need to remove/disable.

Obviously there is a fight for resources, I expect as soon as you stop/disable snapd, Gitlab should finish configuring.

I nuked that droplet from orbit. Only way to be sure.