Full system freeze while running GitLab omnibus in Docker

We have an issue with our GitLab instance (gitlab omnibus through docker), where it freezes up the entire VPS machine. After a while, when the VPS machine gets unstuck(?). Top reports to have a load avarage of 40. The freezes seems to be random.

We’ve tried looking into the logs, but not really sure where to look or what might go wrong.

The specs of the VPS machine is:
4GB Ram / 2 CPU Cores / 150GB Disk space

docker-compose.yml
version: ‘3’

services:
  gitlab:
    image: gitlab/gitlab-ce:latest
    restart: always
    hostname: project.example.com
    ports:
      - 22:22
      - 192.168.0.6:8888:80
    environment:
      GITLAB_OMNIBUS_CONFIG: |
        external_url 'https://project.example.com'
        nginx['listen_port'] = 80
        nginx['listen_https'] = false
        nginx['http2_enabled'] = false

        nginx['proxy_set_headers'] = {
          "Host" => "$$http_host",
          "X-Real-IP" => "$$remote_addr",
          "X-Forwarded-For" => "$$proxy_add_x_forwarded_for",
          "X-Forwarded-Proto" => "https",
          "X-Forwarded-Ssl" => "on"
        }

        gitlab_rails['gitlab_shell_ssh_port'] = 22

        registry_external_url 'https://registry.example.com'
        registry_nginx['listen_port'] = 5100
        registry_nginx['listen_https'] = false

        registry_nginx['proxy_set_headers'] = {
          "Host" => "$$http_host",
          "X-Real-IP" => "$$remote_addr",
          "X-Forwarded-For" => "$$proxy_add_x_forwarded_for",
          "X-Forwarded-Proto" => "https",
          "X-Forwarded-Ssl" => "on"
        }

        pages_external_url 'https://pages.example.com'
        pages_nginx['listen_port'] = 5200
        pages_nginx['listen_https'] = false

        pages_nginx['proxy_set_headers'] = {
          "Host" => "$$http_host",
          "X-Real-IP" => "$$remote_addr",
          "X-Forwarded-For" => "$$proxy_add_x_forwarded_for",
          "X-Forwarded-Proto" => "https",
          "X-Forwarded-Ssl" => "on"
        }

        gitlab_pages['inplace_chroot'] = true
        gitlab_pages['external_http'] = ['gitlab:5201']

        gitlab_rails['smtp_enable'] = true
        gitlab_rails['smtp_address'] = "smtp.mailgun.org"
        gitlab_rails['smtp_port'] = 587
        gitlab_rails['smtp_authentication'] = "plain"
        gitlab_rails['smtp_enable_starttls_auto'] = true
        gitlab_rails['smtp_user_name'] = "postmaster@project.example.com"
        gitlab_rails['smtp_password'] = "PASSWORD"
        gitlab_rails['smtp_domain'] = "project.example.com"

        gitlab_rails['incoming_email_enabled'] = true
        gitlab_rails['incoming_email_address'] = "incoming+%{key}@project.example.com"
        gitlab_rails['incoming_email_email'] = "incoming@project.example.com"
        gitlab_rails['incoming_email_password'] = "PASSWORD"
        gitlab_rails['incoming_email_host'] = "node1.hosting.example.com"
        gitlab_rails['incoming_email_port'] = 143
        gitlab_rails['incoming_email_ssl'] = false
        gitlab_rails['incoming_email_start_tls'] = false
        gitlab_rails['incoming_email_mailbox_name'] = "inbox"
        gitlab_rails['incoming_email_idle_timeout'] = 60

    volumes:
      - ./config:/etc/gitlab
      - ./logs:/var/log/gitlab
      - ./data:/var/opt/gitlab
    labels:
      - traefik.docker.network=traefik
      - traefik.enabled=true
      - traefik.gitlab.frontend.rule=Host:project.example.com
      - traefik.gitlab.port=80
      - traefik.registry.frontend.rule=Host:registry.example.com
      - traefik.registry.port=5100
      - traefik.pages.frontend.rule=Host:pages.example.com
      - traefik.pages.port=5201
    networks:
      - traefik

networks:
  traefik:
    external: true

Hey,

how did you fix this problem ? I ran into the same problem.

Thanks